Reengineering .NET: Understanding Application Architecture
We discussed how a service-oriented architecture (SOA) works and why we chose it. We now address another architectural theory that helps keep the business logic, view logic, and data storage aspects separate and easy to work with.
Working with Architectural Patterns
We work with three patterns in this book: Model-View-Controller (MVC), Model-View-Presenter (MVP), and Model-View-ViewModel (MVVM). Alhough each has its strengths and weaknesses, from a reengineering standpoint, they can be treated similarly. Regardless of which you choose for your target architecture, the techniques described here apply. When there are significant differences that affect the approach we take, we point out how to work with each pattern individually. There isn’t a single definition for any of these patterns. If you search the Web, you can find several slightly different descriptions of each, so for convenience, we standardize on the Microsoft interpretation. The definitions we use can be found here: