I'd
say the very first concept to grasp in software design is separation of
concerns. Divide and conquer. Eat the elephant one bite at a time.
Learning how to decompose a bigger problem into a series of
approachable goals. I'd rather work serially on a screen by completing
one simple task before moving onto the next instead of working with all
aspects of a screen in parallel. Division of responsibility for easier
programming is a major consideration by itself, but there's another
piece of motivation almost as important. Because user interface code
can be very complex to debug and is prone to change based on user
experience, I really, really want to extend granular unit testing with
automated tests as far into the presentation layer as I possibly can.
- Supervising Controller -- I'm here to help the View with the harder cases!
- Passive View -- I only do what I'm told
- Presentation Model -- Just do what I do
浙公网安备 33010602011771号