From: Trans Date: 2007-07-26T06:11:18+09:00 Subject: Modeling -- how to support multiple views of same components? I have a little design conundrum. I'm not sure the best way to model this. Basically I have two model "parts" and I want to support two ways of using them. Eg. class Part1 attr_accessor :a, :b, :x end class Part2 attr_accessor :x, :y, :z end Now in the first case I want effectively: class Model1 < Part1 def subpart @subpart ||= Part2.new end end but in the second I want the equivalent of: class Model2 < Part1 < Part2 but obviously I can't do multiple inheritance. So I've been trying to figure out the best way to do it. Do I use modules? Do I use Forwardable? What's the cleanest, fastest, least troubling way to go about it? Thanks, T.