• Home
  • Archive
  • Tools
  • Contact Us

The Customize Windows

Technology Journal

  • Cloud Computing
  • Computer
  • Digital Photography
  • Windows 7
  • Archive
  • Cloud Computing
  • Virtualization
  • Computer and Internet
  • Digital Photography
  • Android
  • Sysadmin
  • Electronics
  • Big Data
  • Virtualization
  • Downloads
  • Web Development
  • Apple
  • Android
Advertisement
You are here:Home » Software Architecture Styles and Patterns

By Abhishek Ghosh August 8, 2023 8:24 pm Updated on August 8, 2023

Software Architecture Styles and Patterns

Advertisement

In computer science, an architecture pattern is a general, reusable solution to a recurring architecture problem. Architecture patterns are similar to software design patterns but have a broader scope. They serve as a reference model and source of inspiration when designing the architecture of a computer system or software, to break it down into simpler elements. In contrast to design patterns, they do not determine a concrete (usually small or local) subproblem, but the basic organization and interaction between the components of an application. Some books mention architectural patterns and architectural styles as the same.

Architectural patterns can be divided into several categories:

Adaptive systems

These patterns particularly support the extensibility and adaptability of software systems.

Advertisement

---

  • Dependency Injection
  • Microkernel
  • Reflection

Mud-to-structure

These patterns are intended to help organize the multitude of components and objects of a software system. The functionality of the overall system is divided into cooperating subsystems.

  1. Command Query Responsibility Segregation: Separation of the business model into parts that fetch data (query) and parts that change data or execute business.
  2. Data Context Interaction: Separation of business objects (data), use cases, algorithms (context) and business roles (interaction).
  3. Domain-driven Design and Naked Objects: Application domain-driven approach to architecture and design
  4. Pipes and Filters: Describes the structure for systems that process data streams. The system is structured by several independent units: processing steps, so-called filters, with a conversion (e.g. addition, removal, modification) of data and connections between the filters, so-called pipes, for efficient forwarding of the data.
  5. Layered architecture: Separates the components of a software system into layers that build on each other
  6. Bulletin board: An architectural pattern for managing problem-solving processes. On the bulletin board, data from individual sub-processes is stored in a hierarchically organized form. The bulletin board is now able to notify other sub-processes of the storage or modification of this data. This enables the sub-processes to work almost in parallel.
Software Architecture Styles and Patterns


Illustration by https://sanet.lc/blogs/

 

Interactive systems

 

Patterns in this category help to structure human-computer interactions.

Model View Controller (MVC), Model View Presenter, and Remote Presentation Model

Divides the user interface interactions into three different roles. The model contains the data to be represented and the business logic. It is independent of presentation and control. The view is responsible for displaying the required data from the model and receiving user interactions. It knows both its controller and the model whose data it presents, but is not responsible for further processing of the data passed by the user. The controller receives user actions from the view, evaluates them and acts accordingly.

Presentation-Abstraction-Control (PAC)

An architectural pattern for structuring interactive software systems. These are broken down into parts in such a way that each part offers exactly one task of the system. This gives the system a high degree of flexibility and you only have to make sure that these parts are put together to form a functioning whole and also work together.

Distributed systems

 

This category supports the use of distributed resources and services in networks, such as orchestration.

  1. Client-server describes another way to distribute tasks and services within a network. The tasks are performed by programs that are divided into clients and servers. The client can request a task from the server if desired, and the server responds to the request.
  2. Peer-to-peer refers to a way of distributing tasks and services within a network. All computers have equal rights and can both use and provide services. Likewise, the network participants can be divided into different groups depending on their qualifications and take on specific tasks.
  3. Service-oriented architecture (SOA) is an architectural pattern for distributed systems to structure and use services of IT systems. Through orchestration, business processes are mapped by service implementations. By orchestrating services at low levels of abstraction, services at higher levels of abstraction can be created quite flexibly and with the greatest possible reusability.
  4. Edge Computing is decentralized data processing at the edge of the network. This means that the ever-increasing computing power of end devices such as mobile phones is used to make calculations for the user in order to save bandwidth and reduce response time.
Facebook Twitter Pinterest

Abhishek Ghosh

About Abhishek Ghosh

Abhishek Ghosh is a Businessman, Surgeon, Author and Blogger. You can keep touch with him on Twitter - @AbhishekCTRL.

Here’s what we’ve got for you which might like :

Articles Related to Software Architecture Styles and Patterns

  • Data Architecture: What You Need To Know

    Data architecture is a sub-discipline of IT architecture. The data architecture takes a holistic view of fundamental structures and processes related to data or information. In this article, we’ll take a look at what it’s all about and review some common mistakes people make when working with data architecture! The data architect is responsible for […]

  • What is Enterprise Architecture (EA)

    Enterprise architecture in the context of information technology (IT) describes the interaction of elements of information technology and business activities in the company. It differs from terms such as information architecture or software architecture by taking a holistic view of the role of information technology in the company. This is often accompanied by a higher […]

  • Nginx WordPress Installation Guide (All Steps)

    This is a Full Nginx WordPress Installation Guide With All the Steps, Including Some Optimization and Setup Which is Compatible With WordPress DOT ORG Example Settings For Nginx.

  • Service Oriented Architecture (SOA) : Detail Article

    Service Oriented Architecture or SOA is an architectural pattern of IT which plays a special role on business processes, where levels of abstraction are basis.

performing a search on this website can help you. Also, we have YouTube Videos.

Take The Conversation Further ...

We'd love to know your thoughts on this article.
Meet the Author over on Twitter to join the conversation right now!

If you want to Advertise on our Article or want a Sponsored Article, you are invited to Contact us.

Contact Us

Subscribe To Our Free Newsletter

Get new posts by email:

Please Confirm the Subscription When Approval Email Will Arrive in Your Email Inbox as Second Step.

Search this website…

 

Popular Articles

Our Homepage is best place to find popular articles!

Here Are Some Good to Read Articles :

  • Cloud Computing Service Models
  • What is Cloud Computing?
  • Cloud Computing and Social Networks in Mobile Space
  • ARM Processor Architecture
  • What Camera Mode to Choose
  • Indispensable MySQL queries for custom fields in WordPress
  • Windows 7 Speech Recognition Scripting Related Tutorials

Social Networks

  • Pinterest (24.3K Followers)
  • Twitter (5.8k Followers)
  • Facebook (5.7k Followers)
  • LinkedIn (3.7k Followers)
  • YouTube (1.3k Followers)
  • GitHub (Repository)
  • GitHub (Gists)
Looking to publish sponsored article on our website?

Contact us

Recent Posts

  • What is a Digital-to-Analog Converter (DAC)September 25, 2023
  • Tips on S Pen Air ActionsSeptember 24, 2023
  • Market Segmentation in BriefSeptember 20, 2023
  • What is Booting?September 18, 2023
  • What is ncurses?September 16, 2023
PC users can consult Corrine Chorney for Security.

Want to know more about us?

Read Notability and Mentions & Our Setup.

Copyright © 2023 - The Customize Windows | dESIGNed by The Customize Windows

Copyright  · Privacy Policy  · Advertising Policy  · Terms of Service  · Refund Policy