From: Uncutstone Wu Date: 2006-09-18T14:18:06+09:00 Subject: Re: A idea about Ruby module, can we degrade a class to a mo I know the example code is not very accurate. Acctually, the last snippet of code make more sense. As you said, a man is not always a teacher. So, rather than including Teacher into class Man, it's better to extend a Man object individually as in the following code. class Person end class Teacher end degrade_to_module Teacher # or something else, this is imagined by me . Class Man < Person End a_man = Man.new a_man.externd(Teacher) But what I want to said acctually is not relative to these three class. You can just replace them as class A,B,and C. I think you may recognize that you have ever encounter this kind of modeling problems. To some extent, it's relative to role modeling,for example, a man may play a teacher role. You can always use a delegator to implement a role. But I think if you can directly mix a degraded class into a object, the code will be more concise( you don't need write delegate methods),and the design will be clearer. Thanks. uncutstone -- Posted via http://www.ruby-forum.com/.