|
Archives
D Programming
digitalmars.Ddigitalmars.D.bugs digitalmars.D.dtl digitalmars.D.ide digitalmars.D.dwt digitalmars.D.announce digitalmars.D.learn digitalmars.D.debugger D.gnu D C/C++ Programming
c++c++.announce c++.atl c++.beta c++.chat c++.command-line c++.dos c++.dos.16-bits c++.dos.32-bits c++.idde c++.mfc c++.rtl c++.stl c++.stl.hp c++.stl.port c++.stl.sgi c++.stlsoft c++.windows c++.windows.16-bits c++.windows.32-bits c++.wxwindows digitalmars.empire digitalmars.DMDScript electronics |
digitalmars.D.learn - composing a class with template mixins
Recently I started moving all functionality within my larger classes to (10+)
templates.
abstract class AC : I
{
mixin abstractConstructors!();
mixin abstractNamedInterfaceFunctionallity_1!(); //e.g. abstractEvents!()
mixin abstractNamedInterfaceFunctionallity_2!();
..
mixin abstractNamedInterfaceFunctionallity_x!();
}
class C : I
{
mixin constructors!();
mixin namedInterfaceFunctionallity_1!(); //e.g. events!()
mixin namedInterfaceFunctionallity_2!();
..
mixin namedInterfaceFunctionallity_x!();
}
This way I can make these neat per-functionality-modules
--- module events;
template events(){
..
}
template abstractEvents(){
..
}
--
My question is this: What do you think of this approach to handling large
classes?
Horrible ? :)
Feb 06 2010
|