架构模式是对给定上下文的软件架构中常见问题的一种通用的可复用的解决方案。
一种模式就是特定上下文的问题的一种解决方案。
然而,很多开发者至今还对各种软件架构模式之间的差别搞不清,甚至对其所知甚少。
大体上,主要有下面这几种架构模式:
- 分层架构
- 管道-过滤器架构
- 客户端-服务器架构
- 模型-视图-控制器架构
- 事件驱动架构
- 微服务架构
程序员必知的几种软件架构模式
分层架构模式
最常见的架构模式就是分层架构或者称为n层架构。
大部分软件架构师、设计师和开发者都对这个架构模式非常熟悉。尽管对于层的数量和类型没有具体限制,但大部分分层架构主要由四层组成:展现层、业务层、持久层和数据库层,如下图所示。
上下文
所有复杂的系统都会经历独立地发展和衍化系统各个部分的需要。出于这个原因,系统开发者需要对关注点进行清晰且条理分明的分离,以便系统的各个模块可以独立地开发和维护。
问题
软件需要以这样一种方式分割:各个模块可以独自开发和衍化,各自部分之间的交互非常少,支持可移植性、可修改性和复用性。
方案
为了实现关注点分离,分层模式将软件分割成各个单元(称为“层”)。每一层都是一组模块,提供了一组高内聚的服务。其使用必须是单向的。层将一组软件作为一个完整的分区,每个分区暴露一个公开接口。
原文链接:【https://www.infoq.cn/article/6Rx047oOHJlRdIPD1BC2】。未经作者许可,禁止转载。