Skip to content

Commit

Permalink
++
Browse files Browse the repository at this point in the history
  • Loading branch information
DeanJain committed Aug 10, 2021
1 parent af8ae6f commit 71dcbf0
Showing 1 changed file with 25 additions and 3 deletions.
28 changes: 25 additions & 3 deletions PATTERNS.MD
Expand Up @@ -15,7 +15,7 @@ footer: "PaaC Rocks :heart:"

# <!--fit--> Design Principles & Patterns

<br /> <br /> <br /> <br /> <br /> <br /> <br />
<br /> <br /> <br /> <br /> <br /> <br /> <br/><br/>
##### Dean.Jain - Staff Engineer @Amex

<!-- This is presenter note. You can write down notes through HTML comment. -->
Expand Down Expand Up @@ -88,8 +88,30 @@ footer: "PaaC Rocks :heart:"

<style scoped> { font-size:32px;}</style>
---
### Microservices Patterns

![width:1100px height:500px](https://microservices.io/i/PatternsRelatedToMicroservices.jpg)

---
![bg](#123)
![](#fff)
### Modern Design Patterns ++
1. Circuit Breaker
Acts as a proxy for operations that might fail. The proxy should monitor the number of recent failures that have occurred, and use this information to decide whether to allow the operation to proceed, or simply return an exception immediately. Netflix’s Hystrix or Reselience4J or Envoy proxy can be used to implement it.

2. Sidecar
Envoy Proxy is one of the most popular sidecar proxies, It helps you keep the core functionality of the application separate, using the sidecar to isolate common features like networking, observability, and security.

3. Backend-for-Frontend
build/customize back-end services for the specific front end (Mobile vs desktop), gateway can be used to do redirection based on user agent

4. Strangler
creating a facade on top of your legacy and a new application, providing an abstracted view to the consumers so that cloud migration/moderniazation is easier.

<style scoped> { font-size:24px;}</style>
---
<!-- _class: lead -->
### Classification of Patterns:
### Classic Design Patterns:
1. **Creational** patterns provide object creation mechanisms that increase flexibility and reuse of existing code.

2. **Structural** patterns explain how to assemble objects and classes into larger structures, while keeping the structures flexible and efficient.
Expand Down Expand Up @@ -223,7 +245,7 @@ lets you separate algorithms from the objects on which they operate. The Visitor
- https://refactoring.guru/design-patterns
- https://foxlearn.com/design-patterns/what-are-design-patterns-431.html
- https://en.wikipedia.org/wiki/Design_Patterns
- https://microservices.io/patterns/microservices.html

<br />

Powered by PaaC (Presentation as a Code) :heart::purple_heart::green_heart::blue_heart:

0 comments on commit 71dcbf0

Please sign in to comment.