`
韩悠悠
  • 浏览: 828594 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

2,分层的思想

 
阅读更多

在分解复杂的软件系统时,软件设计者使用最多的技术之一就是分层,在计算机本身的架构中也可以看到。
存CPU指令集和设备驱动程序,在到内部芯片和各个逻辑门电路。网络中,FTP层架构在TCP之上,TCP架构
在IP之上,IP架构又在以太网之上。

在这种组织方式下;
上层使用了下层定义的各种服务,而下层对上层一无所知。另外,每一层对自己的上层隐藏其下层的细节。

系统分层的好处
1,无需过多了解其他层次的基础上,就可以将某一层作为一个有机的整体来理解。
2,可以替换某次的具体实现,只要前后提供的服务相同即可。
3,可以将层次间的耦合度降到最低
4,分层有利于标准化工作,(比如TCP)
5,一旦构建好某一层,就可以用他为很多上层服务提供支持。
系统分层的缺点
1,层次不能封装所有东西,有时他会为我们带来联级修改。
2,过多的层次会影响性能。

三个基本的层次
表现层:提供服务,显示信息。
领域层:逻辑,系统中真正的核心。
数据源层:与数据库,消息系统,事物管理及其他软件包通信。

表现层的主要职责就是向用户显示信息并把从用户那里获取的信息解释成领域层或数据源层上的各种动作。
数据源层就是数据库,主要职责是存储持久数据。
领域逻辑,也成业务逻辑。根据输入数据或者已有数据进行计算,对从表现层输入的数据进行验证,以及根据
从表现层接收的命令来确定应该调度哪些数据源逻辑。

到目前为止,我们一直都在讨论用户,假如是一个很时髦的WEB SERVICE或者一个古老的批处理程序呢?这样,很显然
表现层就有可能与数据源层出现某些相似之处,因为他们都是系统与外界的接口。
因此,为别人提供服务的接口与使用别人服务的接口存在较大的差异。需要明确区分。
表现层是系统对外提供服务的外部接口。不管外界是复杂的人类还是一个简单的远程程序。
数据源层是系统使用外部服务的接口。


一般情况下,我们尽量使用三层架构,
一旦在复杂点,可以将三层分解到不同的子层。
伴随着分离,还有一条关于依赖性的原则,领域层和数据源层绝对不要依赖于表现层。也就是说,在领域层和数据源层的代码中,
绝不要出现调用表现层的代码。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics