๐ช๐ต๐ฎ๐ ๐ฎ๐ฟ๐ฒ ๐๐ฟ๐ฐ๐ต๐ถ๐๐ฒ๐ฐ๐๐๐ฟ๐ฎ๐น ๐ฃ๐ฎ๐๐๐ฒ๐ฟ๐ป๐?
While designing software systems, you will likely come across the same design challenges over and over again. Architectural patterns make it easier to solve these issues by providing repeatable designs that address common situations.
An architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture. Architectural patterns are similar to software design patterns but have a broader scope.
Here are the most common architectural patterns:
๐ญ. ๐ฆ๐๐ฎ๐๐ถ๐ฐ ๐๐ผ๐ป๐๐ฒ๐ป๐ ๐๐ผ๐๐๐ถ๐ป๐ด: Used to optimize webpage loading time by storing static content separately from dynamic content
๐ฎ. ๐ฃ๐ฒ๐ฒ๐ฟ-๐๐ผ-๐ฃ๐ฒ๐ฒ๐ฟ: Involves multiple components called Peers, where a pear may function both as a client, requesting services from other peers, and as a server, providing services to other peers.
๐ฏ. ๐ฃ๐๐ฏ๐น๐ถ๐๐ต๐ฒ๐ฟ-๐ฆ๐๐ฏ๐๐ฐ๐ฟ๐ถ๐ฏ๐ฒ๐ฟ: Used to send (publishes) relevant messages to places that have subscribed to a topic.
๐ฐ. ๐ฆ๐ต๐ฎ๐ฟ๐ฑ๐ถ๐ป๐ด ๐ฃ๐ฎ๐๐๐ฒ๐ฟ๐ป โ Used to partition data in a database to speed commands or queries.
๐ฑ. ๐๐ถ๐ฟ๐ฐ๐๐ถ๐ ๐๐ฟ๐ฒ๐ฎ๐ธ๐ฒ๐ฟ: Helps make systems more fault tolerant by minimizing the effects of a hazard by rerouting traffic to another service.
๐ฒ. ๐๐ฎ๐๐ฒ๐ฟ๐ฒ๐ฑ ๐ฃ๐ฎ๐๐๐ฒ๐ฟ๐ป: Generally used to develop applications that include groups of subtasks that execute in a specific order.
๐ณ. ๐๐น๐ถ๐ฒ๐ป๐-๐ฆ๐ฒ๐ฟ๐๐ฒ๐ฟ: A peer-to-peer architecture that is comprised of a client, which requests a service, and a server, which provides the service.
๐ด. ๐ ๐ฎ๐๐๐ฒ๐ฟ-๐ฆ๐น๐ฎ๐๐ฒ: Consists of two components; the master distributes the work among identical slaves and computes a final result from the results which the slaves return.
๐ต. ๐ฃ๐ถ๐ฝ๐ฒ-๐๐ถ๐น๐๐ฒ๐ฟ: Used to structure systems that produce and process a stream of data.
๐ญ๐ฌ. ๐๐๐ฒ๐ป๐-๐๐ฟ๐ถ๐๐ฒ๐ป: Uses events to trigger and communicate between decoupled services.
๐ญ๐ญ. ๐ ๐ผ๐ฑ๐ฒ๐น-๐ฉ๐ถ๐ฒ๐-๐๐ผ๐ป๐๐ฟ๐ผ๐น๐น๐ฒ๐ฟ: Divides an application into three components. The model contains the application's data and main functionality; the view displays data and interacts with the user; and the controller handles user input and acts as the mediator between the model and the view.
๐ญ๐ฎ. ๐๐ป๐๐ฒ๐ฟ๐ฝ๐ฟ๐ฒ๐๐ฒ๐ฟ: Used to interpret a higher level language to a lower level language to execute a series of commands directly.
๐ญ๐ฏ. ๐ ๐ถ๐ฐ๐ฟ๐ผ๐๐ฒ๐ฟ๐๐ถ๐ฐ๐ฒ๐: Used to create multiple services that work interdependently to create a larger application.
๐ญ๐ฐ. ๐๐ผ๐บ๐บ๐ฎ๐ป๐ฑ ๐ค๐๐ฒ๐ฟ๐ ๐ฅ๐ฒ๐๐ฝ๐ผ๐ป๐๐ถ๐ฏ๐ถ๐น๐ถ๐๐ ๐ฆ๐ฒ๐ด๐ฟ๐ฒ๐ด๐ฎ๐๐ถ๐ผ๐ป: Used to separate read and write activities to provide greater stability, scalability, and performance.
Top comments (0)