It’s 7AM. This month I work from home, which has an obvious benefit: you don’t need to rush to catch the bus, you can brush your teeth a bit later, and you have time to think… about design patterns. There is a number of Flex Adobe Photoshop frameworks that are based on MVC. In project teams, MVC architecture helps to ensure that the person who creates the view doesn’t need to know where is its model. Here’s a quick and stupid morning question, ”Why?” Have you ever had time to ask yourself not “How?” but “Why?”.
Typically, using MVC architecture is a given, and authors of a specific framework explain how they separate model and view development.
Such separation definitely makes project managers happier. Here’s another morning thought – is there such a thing as happy project manager, Acrobat but it’s a subject of a separate blog.
Visualize yourself in a project kick-off meeting. The manager goes,
“Guys, our great distributed global team starts a new and exciting RIA project. Joe and Mary, you’ll be creating views for the project. Our Bangalore partners will be responsible for the model part. But the thing is that we do not know who these people are just yet. Besides, because of high turnover, we need to architect our application in a way that any software developer who’ll ever enter the building can quickly start coding business logic without even knowing his neighbors in the next cube. They just need to know where to place their if-statements. The plumbing has to be done by the framework.
I also need to be able to create a project plan to easily quantify the work done by every person on the team.”
Divide and conquer. Is this a real-world situation or we are playing some kind of a game here? If you are in this situation, definitely select and use one of the MVC frameworks, otherwise your project is doomed.
But if you have a luxury of working with people who understand well designed Flex framework, you may survive without using additional MVC constructions on top of it. Please note, I do not dispute MVC architecture of Flex components, i.e. separating data providers and List based controls. BTW, I see M and V here but who’s the C here? The underlying data binding?
OK, I spit it out! Let me go an brush my teeth and make a cup of coffee, or should I do it in the reverse order? I own this Delonghi machine that automatically grinds the beans and brews the coffee. Can someone pleaseeeee recommend me the bean brand that will help my machine produce the coffee that looks smells as good as the one brewed in any Paris bistro? Do I have to fly to France for a good cup of coffee?