...Horrible api example deleted... > Cramming everything in a class will always force us to do some meta > programming. This has no meaning as far as I can tell. Are you seriously suggesting that we shouldn't even use metaclasses?
>Devoting a module and spreading things give better flexibility. The sole purpose of the module in your example seems to be your particular naming pecadillos. All the module does in your case is provide a namespace - we already have one of those, the class. Duplicating namespaces is not really a worthwhile pursuit. Your method seems to force a lot of boiler plate crap everywhere, and a file for every class. The current magic-removal system allows for a) sane defaults with minimal boiler plate. In reality, "most" users are never going to touch this multiple managers stuff, and they are not going to have fields called objects. (I also don't really buy the idea of different managers for storing things in RDF and LDAP - if that is ever going to happen, it should be a seperate concern : your class definition should not be bound to one storage model. Think redistributable apps. ) b) possibility of customisation in the cases it is needed. So I give this a big fat -1.