{"id":8658,"date":"2023-02-21T21:40:07","date_gmt":"2023-02-21T21:40:07","guid":{"rendered":"https:\/\/frappey.io\/blog\/?p=8658"},"modified":"2023-02-22T21:50:14","modified_gmt":"2023-02-22T21:50:14","slug":"complete-list-of-software-architecture-patterns","status":"publish","type":"post","link":"https:\/\/frappey.io\/blog\/complete-list-of-software-architecture-patterns\/","title":{"rendered":"Complete List Of Software Architecture Patterns"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Here are short explanations of each software architecture pattern:<\/span><\/p>\n<h2><span style=\"font-weight: 400;\"><strong>1. Layered pattern<\/strong><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">This architecture divides an application into layers based on their functionality, such as presentation, business logic, and data storage. Each layer communicates only with its adjacent layer, which creates a modular and flexible design.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\"><strong>2. MVP (Model View Presenter)<\/strong><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">This pattern separates an application into three parts: model, view, and presenter. The model represents the data and logic, the view is responsible for the user interface, and the presenter acts as a mediator between them.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\"><strong>3. MVVM (Model View View Model)<\/strong><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">This pattern separates an application into three parts: model, view, and view model. The model represents the data and logic, the view is responsible for the user interface, and the view model acts as an intermediary between them.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\"><strong>4. MVC (Model View Controller)<\/strong><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">This pattern separates an application into three parts: model, view, and controller. The model represents the data and logic, the view is responsible for the user interface, and the controller acts as an intermediary between them.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\"><strong>5. Client-server<\/strong><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">This architecture separates an application into two parts: a client that sends requests, and a server that processes them. This pattern is commonly used for web applications and distributed systems.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\"><strong>6. Master-slave<\/strong><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">This architecture divides an application into two parts: a master that controls the flow of data, and one or more slaves that perform computations. This pattern is commonly used in parallel computing and data processing.<\/span><\/p>\n<h2><strong>7. Pipe-filter<\/strong><\/h2>\n<p><span style=\"font-weight: 400;\"> This architecture divides an application into a series of filters that process data as it flows through a pipeline. This pattern is commonly used in data processing, such as image and audio processing.<\/span><\/p>\n<h2><strong>8. Peer-to-peer<\/strong><\/h2>\n<p><span style=\"font-weight: 400;\"> This architecture distributes an application&#8217;s processing load among multiple equal nodes, with each node acting as both a client and a server. This pattern is commonly used in file sharing, distributed computing, and decentralized systems.<\/span><\/p>\n<h2><strong>9. Blackboard<\/strong><\/h2>\n<p><span style=\"font-weight: 400;\"> This architecture allows multiple independent agents to contribute to a common repository, known as the blackboard. This pattern is commonly used in artificial intelligence and expert systems.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\"><strong>10. Event bus pattern<\/strong><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">This architecture allows multiple components to communicate through a central event bus, where events are broadcasted and subscribed to. This pattern is commonly used in event-driven systems, such as mobile and web applications.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\"><strong>11. Broker<\/strong><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">This architecture separates an application into a set of independent components, with a broker component managing the communication between them. This pattern is commonly used in enterprise applications and service-oriented architectures.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here are short explanations of each software architecture pattern: 1. Layered pattern This architecture divides an application into layers based on their functionality, such as presentation, business logic, and data storage. Each layer communicates only with its adjacent layer, which creates a modular and flexible design. 2. MVP (Model View Presenter) This pattern separates an<\/p>\n","protected":false},"author":1,"featured_media":8659,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28],"tags":[221,223,226,227],"class_list":{"0":"post-8658","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-website-development","8":"tag-mvc-development","9":"tag-mvvm-development","10":"tag-p2p-development","11":"tag-software-architecture"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Complete List Of Software Architecture Patterns<\/title>\n<meta name=\"description\" content=\"This architecture divides an application into layers based on their functionality, such as presentation, business logic, and data storage\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/frappey.io\/blog\/complete-list-of-software-architecture-patterns\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Complete List Of Software Architecture Patterns\" \/>\n<meta property=\"og:description\" content=\"This architecture divides an application into layers based on their functionality, such as presentation, business logic, and data storage\" \/>\n<meta property=\"og:url\" content=\"https:\/\/frappey.io\/blog\/complete-list-of-software-architecture-patterns\/\" \/>\n<meta property=\"og:site_name\" content=\"Frappey Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-21T21:40:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-22T21:50:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/frappey.io\/blog\/wp-content\/uploads\/2023\/02\/Short-explanation-of-each-one-of-these-software-architecture-patterns.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1296\" \/>\n\t<meta property=\"og:image:height\" content=\"810\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"frappey\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"frappey\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/frappey.io\/blog\/complete-list-of-software-architecture-patterns\/\",\"url\":\"https:\/\/frappey.io\/blog\/complete-list-of-software-architecture-patterns\/\",\"name\":\"Complete List Of Software Architecture Patterns\",\"isPartOf\":{\"@id\":\"https:\/\/frappey.io\/blog\/#website\"},\"datePublished\":\"2023-02-21T21:40:07+00:00\",\"dateModified\":\"2023-02-22T21:50:14+00:00\",\"author\":{\"@id\":\"https:\/\/frappey.io\/blog\/#\/schema\/person\/f00fbab68c4c540467e63f105aa61380\"},\"description\":\"This architecture divides an application into layers based on their functionality, such as presentation, business logic, and data storage\",\"breadcrumb\":{\"@id\":\"https:\/\/frappey.io\/blog\/complete-list-of-software-architecture-patterns\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/frappey.io\/blog\/complete-list-of-software-architecture-patterns\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/frappey.io\/blog\/complete-list-of-software-architecture-patterns\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/frappey.io\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Complete List Of Software Architecture Patterns\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/frappey.io\/blog\/#website\",\"url\":\"https:\/\/frappey.io\/blog\/\",\"name\":\"Frappey Blog\",\"description\":\"Frappey Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/frappey.io\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/frappey.io\/blog\/#\/schema\/person\/f00fbab68c4c540467e63f105aa61380\",\"name\":\"frappey\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/frappey.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/dbc30e0c4c4a7fcb518a065b6452674b66db2656ee39275ff0f268cafd8f944c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/dbc30e0c4c4a7fcb518a065b6452674b66db2656ee39275ff0f268cafd8f944c?s=96&d=mm&r=g\",\"caption\":\"frappey\"},\"sameAs\":[\"https:\/\/frappey.io\/blog\"],\"url\":\"https:\/\/frappey.io\/blog\/author\/frappeyioadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Complete List Of Software Architecture Patterns","description":"This architecture divides an application into layers based on their functionality, such as presentation, business logic, and data storage","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/frappey.io\/blog\/complete-list-of-software-architecture-patterns\/","og_locale":"en_US","og_type":"article","og_title":"Complete List Of Software Architecture Patterns","og_description":"This architecture divides an application into layers based on their functionality, such as presentation, business logic, and data storage","og_url":"https:\/\/frappey.io\/blog\/complete-list-of-software-architecture-patterns\/","og_site_name":"Frappey Blog","article_published_time":"2023-02-21T21:40:07+00:00","article_modified_time":"2023-02-22T21:50:14+00:00","og_image":[{"width":1296,"height":810,"url":"https:\/\/frappey.io\/blog\/wp-content\/uploads\/2023\/02\/Short-explanation-of-each-one-of-these-software-architecture-patterns.jpg","type":"image\/jpeg"}],"author":"frappey","twitter_card":"summary_large_image","twitter_misc":{"Written by":"frappey","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/frappey.io\/blog\/complete-list-of-software-architecture-patterns\/","url":"https:\/\/frappey.io\/blog\/complete-list-of-software-architecture-patterns\/","name":"Complete List Of Software Architecture Patterns","isPartOf":{"@id":"https:\/\/frappey.io\/blog\/#website"},"datePublished":"2023-02-21T21:40:07+00:00","dateModified":"2023-02-22T21:50:14+00:00","author":{"@id":"https:\/\/frappey.io\/blog\/#\/schema\/person\/f00fbab68c4c540467e63f105aa61380"},"description":"This architecture divides an application into layers based on their functionality, such as presentation, business logic, and data storage","breadcrumb":{"@id":"https:\/\/frappey.io\/blog\/complete-list-of-software-architecture-patterns\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/frappey.io\/blog\/complete-list-of-software-architecture-patterns\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/frappey.io\/blog\/complete-list-of-software-architecture-patterns\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/frappey.io\/blog\/"},{"@type":"ListItem","position":2,"name":"Complete List Of Software Architecture Patterns"}]},{"@type":"WebSite","@id":"https:\/\/frappey.io\/blog\/#website","url":"https:\/\/frappey.io\/blog\/","name":"Frappey Blog","description":"Frappey Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/frappey.io\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/frappey.io\/blog\/#\/schema\/person\/f00fbab68c4c540467e63f105aa61380","name":"frappey","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/frappey.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/dbc30e0c4c4a7fcb518a065b6452674b66db2656ee39275ff0f268cafd8f944c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dbc30e0c4c4a7fcb518a065b6452674b66db2656ee39275ff0f268cafd8f944c?s=96&d=mm&r=g","caption":"frappey"},"sameAs":["https:\/\/frappey.io\/blog"],"url":"https:\/\/frappey.io\/blog\/author\/frappeyioadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/frappey.io\/blog\/wp-json\/wp\/v2\/posts\/8658","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/frappey.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/frappey.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/frappey.io\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/frappey.io\/blog\/wp-json\/wp\/v2\/comments?post=8658"}],"version-history":[{"count":0,"href":"https:\/\/frappey.io\/blog\/wp-json\/wp\/v2\/posts\/8658\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/frappey.io\/blog\/wp-json\/wp\/v2\/media\/8659"}],"wp:attachment":[{"href":"https:\/\/frappey.io\/blog\/wp-json\/wp\/v2\/media?parent=8658"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/frappey.io\/blog\/wp-json\/wp\/v2\/categories?post=8658"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/frappey.io\/blog\/wp-json\/wp\/v2\/tags?post=8658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}