Software Architecture

Design & Architectural Patterns

Model Driven Architecture (MDA)

Web & N-Tier Application Architecture

Presentation Layer - User Interface Architecture

  • GUI Architectures
    By Martin Fowler, in: Development of Further Patterns of Enterprise Application Architecture.
    Forms and Controls, Model View Controller (MVC), VisualWorks Application Model, Model-View-Presenter (MVP), Humble View.
  • Interactive Application Architecture Patterns
    By Derek Greer, blog Aspiring Craftsman.
    The Model-View-Controller Pattern, The Model-View-Controller Pattern for Web Applications, The Model-View-Presenter Pattern, The Fowler Patterns, The Supervising Controller Pattern, The Passive View Pattern, The Presentation-Abstraction-Control Pattern, Pattern Comparisons.

Model-View-Controller (MVC) & Web-MVC

  • Design Patterns: Model-View-Controller
    J2EE Patterns Catalog, Sun Java BluePrints Enterprise Patterns.
  • Model-View-Controller
    Por ootips, 14 may 1998.
  • Apache Struts
    The Apache Struts Web Application Framework, by Apache Jakarta Project. The core of the Struts framework is a flexible control layer based on standard Java technologies like Java Servlets, JavaBeans, ResourceBundles, and Extensible Markup Language (XML). Struts encourages application architectures based on the Model 2 approach, a variation of the classic Model-View-Controller (MVC) design pattern.
  • php.MVC
    php.MVC is an open source framework for PHP Web applications. php.MVC implements the Model-View-Controller (MVC) design pattern, and encourages application design based on the Model 2 paradigm.
    PHP MVC Frameworks - MVC Frameworks Written in PHP, by PHP Web Application Component Toolkit (WACT).
    phpPatterns - MVC Pattern, version 2.
  • How to use Model-View-Controller (MVC)
    Applications Programming in Smalltalk-80: How to use MVC - article by Steve Burbeck, Ph.D., 1982.
  • Maverick
    Maverick is a Model-View-Controller (aka "Model 2") framework for web publishing using Java and J2EE. It is a minimalist framework which focuses solely on MVC logic. Maverick is multi-platform; it has been ported to both .NET and PHP.
  • TurboM2
    TurboM2 - Open Source Model 2 (MVC) Framework. TurboM2 is the result of years of effort by senior engineers of Virtuas Solutions, who in 1999 created the first consumer-available Java Model View Controller framework, the Web Application Model (WAM). The decision was made in 2003 to release the framework to open source.
  • Xmt++ MVC Framework
    The purpose of Xmt++ is to provide a C++ Model-View-Controller framework implementation based on Xmt. This framework makes it easier to integrate a Motif GUI to an application and maintain design integrity.

Model View Presenter (MVP) - Supervising Controller & Passive View

Persistence layer - Object-to-Relational Mapping (ORM)

Code Generation