N 层架构意味着将系统拆分为 N 层,N ∈ [1,+∞)。单层架构与单进程架构一样。双层架构和客户端/服务端架构一样等等。三层架构是一种非常常见的架构。三层架构通常分为表现层/GUI 层、业务逻辑层以及数据持久化层。下图说明了三层架构:
表现层/GUI 层包含应用的用户接口。表现层是“哑巴”,意味着它不包含任何业务逻辑。它只是将用户的行为转发到业务逻辑层。如果用户需要输入信息(例如表单信息),这个可以在表现层中完成。
业务逻辑层做出所有应用程序决策,这就是“业务逻辑”所在的位置。业务逻辑层知道什么是可能的,什么是允许的等等。业务逻辑层在数据持久化层中读取和存储数据。数据持久化层被用在应用程序中存储数据。
数据持久化层通常可以安全地存储数据,执行事务,快速搜索大量数据等。
Web 和移动应用
Web 应用是非常常见的三层应用程序。表现层由 HTML,CSS 和 JavaScript 组成,业务逻辑层以 Java Servlet/JSP,ASP,.NET,PHP,Ruby,Python 等形式在 Web 服务器上运行,数据持久化层由某些数据库(例如 MySQL、PostgreSQL、NoSQL 数据库等)组成。下图是一个典型