企业应用架构模式阅读笔记2

企业应用的分层

在分解复杂的软件系统时,分层是使用得最多的技术之一。计算机领域中到处都有分层的影子。

合理的分层可以1屏蔽底层的细节,2替换某层的实现,实现良好的低耦合。但是分层也有不足之处,1过多的层次会影响性能,2严格的分层在企业应用中会造成修改的级联,比如界面增加一个字段,会影响下面的所有层次。

当人们讨论分层的时候,常常不易区分layer和tier的区别,在人们的理解中,tier通常意味着物理上的分离,比如客户/服务器通常被称为”two-tier system” 。

企业应用的三个基本分层讨论:表现层、领域层、数据源层。

表现层:表现层处理用户与软件间的交互。表现层的主要职责是向用户现实信息并把从用户那里获取的信息解释成领域层或者数据源层上的各种动作。

数据源逻辑主要关注与其他系统的交互,如事务监控、消息系统,最主要的数据源逻辑是数据库,其职责是持久化数据。

领域逻辑也称业务逻辑,主要职责是根据输入进行计算、对表现层的输入进行验证、以及根据表现层的命令决定调度那些数据源逻辑。

在实际的应用中,严格的清晰分层是比较难以实现的,在有些应用中,表现层直接访问数据层,也运转良好;但是对于复杂的系统,为了日后的维护,我们需要保持这种三层的风格,并且在开发过程中至少也应该坚持某种形式上的分离,至少在子程序(函数)级别。

伴随着分离,有一种普遍原则:那就是领域层和数据层绝对不能依赖表现层,因为表现层是对用户的接口,是变化的最频繁的地方,解除依赖可以方便日后替换表现层。确定一个逻辑(方法)是否放到领域层或表现层有一种简单的方法,那就是,再增加一个表现层,如果这个方法需要重复编写,那么这个逻辑就应该是领域层的逻辑。比如,如果判断经理和职员来显示某个功能的逻辑,对系统来说就应该传入用户的id,传出true或者false。界面层只依赖于true和false。

原文地址:https://www.cnblogs.com/123456www/p/13054283.html