Presentation is loading. Please wait.

Presentation is loading. Please wait.

Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.

Similar presentations


Presentation on theme: "Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture."— Presentation transcript:

1 Architectural Patterns Support Lecture

2 Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture for this presentation is l The modules, processes, interconnections, and protocols which constitute the deployed software system. l Different from the behavioral architecture which describes how the business classes execute the business processes.

3 Architecture Specification l Document which defines in text and diagrams the design, flow and technologies of the design. l Shows how persistence, communication, and behavior are to be implemented in the system.

4 Architectural Layers - Patterns Presentation interactions with the user – HTML, thick client, MVC, web services Domain (Logic) Business rules, validations, calculations, verifications Data Storage database Environmental Session management, messaging

5 Presentation Architectural Patterns l Presentation interactions with the user l No Client l Thick Client (rich client) l Thin Client

6 Presentation Architectural Patterns l Model View Controller l Application Controller l Input Controller Page Controller Front Controller l View Controller Template View Transform View Two Step View

7 Model View Controller Separation of Presentation (View/Controller) from Domain (Model) Separation of View and Controller Model – Domain object View – Presentation object Controller – Controller object to handle user request/response

8 Application Controller A centralized point for handling screen navigation and flow of an application. Application Controller – determines which type of input is needed or which screen. Input Controller View Application Controller Domain Layer

9 Application Controller

10 l A single point of control to change program flow and navigation l May be in mediating layer between the presentation and the domain l May be reusable across various presentations l Testable outside the UI framework.

11 Front Controller

12 Page Controller

13 Front vs Page Controller l Front Controller Single point for adding behavior Can add behavior dynamically (filter pattern) Use with more complex applications l Page Controller Simple - Input controller per page Don’t put controller logic into scriplets – use separate classes More prone to duplicate code with this controller

14 Template View

15 Transform View

16 Example

17 Data Storage l Need mechanisms to allow RDBMS to communicate in the OO world. l With OO databases none of these patterns necessary. l Useful even if non-OO language wants to communicate with RDBMS to make the DB flexible to change in type and to make the data representation protected.

18 Data Storage Patterns l Table Data Gateway l Row Data Gateway l Active Record l Data Mapper l Structural Patterns Foreign Key Mapping, Identify Field Association, Table Mapping, Single Table Inheritance.

19 Table Data Gateway

20 Row Data Gateway

21 Row Data Gateway (2)

22 Active Record

23 Data Mapper

24 Distribution Patterns l Remote Façade l Data Transfer Object

25 Remote Facade

26 Data Transfer Object

27 Summary l No one patterns is an end all l Patterns are mechanisms to help decompose applications into reusable, maintainable, modules. l The layers of development help to define the needed patterns l No pattern is always correct -- fit the application.


Download ppt "Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture."

Similar presentations


Ads by Google