I’ve been working with OO methodologies and MVC frameworks for a while now, and something has been nagging at me that I haven’t been able to crystallize until now. I’m wondering if someone can help me with this.
I understand the idea of class construction in OO development, and how classes model real-world systems, with both attributes and methods, and how inheritance works, etc.
I also understand about models, views, and controllers, and the division of responsibility each has.
(BTW, I don’t claim to be an expert in either OO or MVC, I just believe that I have a fairly solid understanding of the core principles.)
So, my question is this: when working within in a MVC framework like Coldbox (or any, for that matter), does one still construct true classes (or components) in the sense of attributes, methods, etc – or is all that being handled “behind the scenes” by the framework itself?
My own take on it is this: controllers are event handlers and not necessarily true classes per se. Their job is to act as traffic cops and direct the flow of information. Views are not classes at all, as they handle presentational information. But it would seem to me that models are the closest to true classes in the OO sense, and should be developed as such. But I’m not sure if I am missing something important in either MVC or OO in general as I think about this.
I’d appreciate any feedback anyone might have.