--- tags: multicast --- Architectural and Design Patterns - 101 === > A **pattern** is a recurring solution to a recurring problem. In the case of **Architectural Patterns**, they solve the problems related to the Architectural Style. For example, “what classes will we have and how will they interact, in order to implement a system with a specific set of layers“, or “what high-level modules will have in our Service-Oriented Architecture and how will they communicate“, or “how many tiers will our Client-server Architecture have“. > **Architectural Patterns** have an extensive impact on the code base, most often impacting the whole application either horizontally (ie. how to structure the code inside a layer) or vertically (ie. how a request is processed from the outer layers into the inner layers and back). > **Design Patterns** is a general repeatable solution to a commonly occurring problem in software design. A design pattern isn't a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations They differ from Architectural Patterns in their scope, they are more localised and have less impact on the code base. Architectural Styles -- - [ ] [**Architectural Styles are...**](https://www.youtube.com/watch?v=jKPyb6GatJU) (:watch: 1m26s) <iframe width="560" height="315" src="https://www.youtube.com/embed/jKPyb6GatJU" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> - [ ] [**Types of Architectural Styles**](https://www.youtube.com/watch?v=JLbo9Lvvy5M) (:watch: 3m8s) <iframe width="560" height="315" src="https://www.youtube.com/embed/JLbo9Lvvy5M" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> --- - [ ] **[Architectural vs Design Patterns](https://www.youtube.com/embed/NU_1StN5Tkk)** (:watch: 15m58s) <iframe width="560" height="315" src="https://www.youtube.com/embed/lTkL1oIMiaU" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> - [ ] Common Software Architectural Patterns (https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013) - [ ] **[Overview of Architectural Patterns in Web Applications + Clean Architecture](https://www.youtube.com/embed/NU_1StN5Tkk)** (:watch: 49m44s) <iframe width="560" height="315" src="https://www.youtube.com/embed/cPH5AiqLQTo" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> Design Principles and Patterns --- - [ ] **[Impatient introduction to Design Principles & Patterns](https://www.youtube.com/embed/NU_1StN5Tkk)** (:watch: 1h30m) <iframe width="560" height="315" src="https://www.youtube.com/embed/NU_1StN5Tkk" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> --- - [ ] **Follow design patterns presented in** [![image alt](https://sourcemaking.com/images/content-public/logos/logo.png "Source Making" =200x)](https://sourcemaking.com/design_patterns) --- Readings -- [The Software Architecture Chronicles](https://herbertograca.com/2017/07/03/the-software-architecture-chronicles/) by Eeduardo Graça [<img src="https://i.imgur.com/kRGKPmX.png" width="190px" style="padding:10px">](https://herbertograca.com/2017/07/03/the-software-architecture-chronicles/) <img src="https://i.imgur.com/RBAl7Ud.png" width="190px" style="padding:10px"> <img src="https://i.imgur.com/0fi2fn2.png" width="190px" style="padding:10px"> <img src="https://i.imgur.com/elsXGbQ.png" width="200px" style="padding:10px"> <img src="https://i.imgur.com/U7r4iAC.jpg" width="230px" style="padding:10px"> ## Activity Roadmap Day 1