$30 off During Our Annual Pro Sale. View Details »

CSE460 Lecture 29

CSE460 Lecture 29

Software Analysis and Design
Architecture Patterns
(202011)

Javier Gonzalez-Sanchez
PRO

July 29, 2020
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs CSE 460 Software Analysis and Design Lecture 29: Architecture

    Patterns Dr. Javier Gonzalez-Sanchez javiergs@asu.edu javiergs.engineering.asu.edu | javiergs.com PERALTA 230U Office Hours: By appointment
  2. jgs Previously …

  3. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 3 jgs

    Drafting an Implementation
  4. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 4 jgs

    Example Main Factory Controller View Model Gift Ball Box Envelop
  5. jgs Layered Architecture

  6. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 6 jgs

    A generic layered architecture
  7. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 7 jgs

    Layered Architecture
  8. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 8 jgs

    Layered Architecture Description § Organizes the system into layers with related functionality associated with each layer. § A layer provides services to the layer above it, so the lowest-level layers represent core services that are likely to be used throughout the system. When used § Building new facilities on top of existing systems § The development is spread across several teams with each team responsibility for a layer of functionality Advantages § Allows replacement of entire layers so long as the interface is maintained. Disadvantages § In practice, providing a clean separation between layers is often difficult and a high-level layer may have to interact directly with lower-level layers rather than through the layer immediately below it. § Performance can be a problem because of multiple levels of interpretation of a service request as it is processed at each layer.
  9. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 9 jgs

    Example Factory Main Gift Ball Box Envelop Layer Layer Layer
  10. jgs Blackboard

  11. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 11 jgs

    Blackboard
  12. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 12 jgs

    Blackboard Description § All data in a system is managed in a central repository § Components do not interact directly, only through the repository. When used § When Large volumes of information are generated that has to be stored for a long time. § When the inclusion of data in the repository triggers an action or tool. Advantages § Components do not need to know of the existence of other components. § Changes made by one component can be propagated to all components. Disadvantages § The repository is a single point of failure so problems in the repository affect the whole system. § May be inefficiencies in organizing all communication through the repository.
  13. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 13 jgs

    Drafting an Implementation
  14. jgs To be Continued…

  15. jgs CSE 460 Software Analysis and Design Javier Gonzalez-Sanchez javiergs@asu.edu

    Fall 2020 Disclaimer. These slides can only be used as study material for the class CSE460 at ASU. They cannot be distributed or used for another purpose.