维基中讲到层的概念,原文这样说:a layer is a logical structuring mechanism for the elements that make up the software solution, while a tier is a physical structuring mechanism for the system infrastructure
layer和tier的区别大概意思是:layer侧重于软件构成元素的逻辑结构机制,tier侧重于系统设施的屋里结构机制
通过分层的应用结构模型,开发者能够创建富有弹性、可重用的应用程序。将应用程序分离之后,开发者就能够对具体膜一层进行修改和增加,而不需要重做整个应用程序。三层模型主要由表示层,业务逻辑层,数据存储层构成。
除了软件模块化带来的可以定义良好接口的好处以外,三层结构能够使得其中任一层可以面对需求和技术的改变问题而独立的升级或者替换。比如说,表示层的操作系统如果变化了,那么只会影响用户接口的代码。
一般来讲,用户接口使用统一的图形用户界面,运行在PC机或者工作站;业务逻辑处理一般包含一个或多个分离的模块,运行在工作站或者应用服务器;数据存储逻辑则往往在数据库服务器,并由关系数据库管理系统管理。业务逻辑层,也叫中间层,它本身也可能是多层结构的。
表示层:简单讲就是用户可以直接访问的,比如网页,操作系统的图形界面,它与其他层进行通信,将传进的结果呈现出来。
应用层(业务逻辑层,逻辑层,中间层):它为表示层服务,它通过操作具体的处理来控制应用程序的业务功能。
数据层:包括封装了数据持久机制的数据访问层,数据访问层向应用层提供应用编程接口(api)来管理存储的数据。