程序员必知的7种软件架构模式
分层架构
多层架构
管道 - 过滤器架构
客户端 - 服务器架构
模型 - 视图 - 控制器架构
事件驱动架构
微服务架构
![](https://filescdn.proginn.com/d61df695b434dd380e3c43c57af48b0c/98bdae40e0d8a38fb29d7e4c5bcf5d18.webp)
第一个概念是,每一层都有特定的角色和职责。例如,展现层负责处理所有的用户界面。分层架构的这种关注点分离,让构建高效的角色和职责非常简单。 第二个概念是,分层架构模式是一个技术性的分区架构,而非一个领域性的分区架构。它们是由组件组成的,而不是领域。 最后一个概念是,分层架构中的每一层都被标记为封闭或者开放。封闭层意味着请求从一层移到另一层,它必须通过它正下面的这一层才能达到下面这一层的再下一层。请求不能跳过任何层。
![](https://filescdn.proginn.com/ddb5e337fa18339956f25a0214dee2c1/890e4cfa1deb0f81ae4810859763d053.webp)
![](https://filescdn.proginn.com/42a85bfab95a0ee68c21e91088d4f3f1/99e7d86438b93d280493ac4a31001e1a.webp)
![](https://filescdn.proginn.com/de06f23ffd5a41fa6f9fb7d962d92935/bc241a349e9ef27636519fb22afad1f5.webp)
producer( source
):一个过程的起点。transformer ( map
):对一些或所有数据进行转换。tester ( reduce
):测试一个或多个条件。consumer ( sink
):终点。
![](https://filescdn.proginn.com/5aa25af1423c9600c6fa5b43e74a402f/e4e16a52cd2286688cb95adfe5a612c8.webp)
![](https://filescdn.proginn.com/e0e1f761de23ca00b46c08c64ea5f4c9/6f1ed8b8d721f14f6a181c0f22bbf1aa.webp)
模型,包含应用程序的数据。 视图,显示部分底层数据并与用户交互。 控制器,在模型和视图之间进行中介并管理状态更改的通知。
![](https://filescdn.proginn.com/3c6882399bb3246274f3e34214a84e58/52bdef94e05e26205041634fca12b4a7.webp)
OrderCreated
事件。Customer Service 接收到这个事件并尝试为这个 Order 扣除信用。然后发布一个 Credit Reserved 事件或者 CreditLimitExceeded
(超出信用限额)事件。Order Service 接收到 Customer Service 发送的事件并将订单状态更改为已核准或已取消。
![](https://filescdn.proginn.com/9b5e5fd024ed876b3c16646a037ccaa9/a5c90468a1c50f942dbdc44a0b8cdbb9.webp)
--完-- 推荐阅读:
怎么接私货?这个渠道你100%有用!请收藏!
喜欢文章,点个在看
评论