3 ms·
I've always liked CBV's, despite their complexity. Something just seemed more "right" about them than FBV's. That being said, the designers unquestionably got a
by acjohnson55 13y ago
I've always liked CBV's, despite their complexity. Something just seemed more "right" about them than FBV's. That being said, the designers unquestionably got a bit class-happy, and it's almost impossible to use CBV's in any nontrivial way without dipping into the library source code (well written and documented as it may be) to truly understand the control flow between the overrides.
I definitely hear you on inheritance. I'm becoming more convinced that inheritance in many cases is a crutch that prevents a much more reasonable control flow and maintainable design that can be achieved compositionally.
The mixing of inheritance and mixins in the canonical CBV design is tricky, to say the least. I guess it was done with the expectation that people would more directly use the mixins and base classes, but in reality, people tend to try to extend the leaf classes and the class tangle gets exacerbated. This project seems like a huge step in the right direction.