Software Architectures: Client-Server, Multi-Tier, MVC, MVP, MVVM, IoC, DI, SOA, Cloud Computing
Few days ago I gave a talk about software architectures. My goal was to explain as easy as possible the main ideas behind the most popular software architectures like the client-server model, the 3-tier and multi-tier layered models, the idea behind SOA architecture and cloud computing, and few widely used architectural patterns like MVC (Model-View-Controller), MVP (Model-View-Presenter), PAC (Presentation Abstraction Control), MVVM (Model-View-ViewModel). In my talk I explain that MVC, MVP and MVVM are not necessary bound to any particular architectural model like client-server, 3-tier of SOA. MVC, MVP and MVVM are architectural principles applicable when we need to separate the presentation (UI), the data model and the presentation logic.
Additionally I made an overview of the popular architectural principals IoC (Inversion of Control) and DI (Dependency Injection) and give examples how to build your own Inversion of Control (IoC) container.
My overview of the software architectures, patterns and principles was from the .NET development perspective but the content of my presentation can serve as a general reference about “software architectures”.
I was unable to find comprehensive and still compact overview of all mentioned topics about software architecture and architectural design patterns so I hope everyone will enjoy my presentation and the way I explain all these concepts:
3 Responses to “Software Architectures: Client-Server, Multi-Tier, MVC, MVP, MVVM, IoC, DI, SOA, Cloud Computing”
very good presentation giving a quick overview of several well-known and useful architectural patterns
Well thought and good collection of all these architectures together. Pretty helpful. Thanks.
Great summary, thanks!