系统架构设计描述了在应用系统的内部,如何根据业务、技术、组织、灵活性、可扩展性以及可维护性等多种因素,将应用系统划分成不同的部分,并使这些部分彼此之间相互分工、相互协作,从而为用户提供某种特定价值的方式。
系统中不同职责的部分逐渐被划分到了如下三个层次:
表示层,聚焦数据显示和用户交互。
业务逻辑层,聚焦业务逻辑处理。
数据访问层,聚焦数据的存储与访问。
每一层负责的部分更趋向于具体化、细致化,这就是最初的软件三层架构。三层架构的出现,不仅解决了系统间调用复杂、职责不清的问题,更有效地降低了层与层之间的依赖关系,成为软件架构的经典模式之一。
三层架构将系统在逻辑上分成了三层,但它并不是物理上的分层。
对于这种功能集中、代码中心化、一个发布包、部署后运行在同一进程的应用程序,我们通常称之为单块架构应用。
一方面,代码的可维护性、扩展性、灵活性在降低;另一方面,系统的修改成本、构建以及维护成本在显著增加。