java中关于高聚合与松耦合

2018-06-18 02:09:19来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

把系统分为各个功能不同的板块,以电脑主机为例,高聚合就是指主板,cup等内的各种零件之间的紧密联系,松耦合就是指主板与cpu的连接,主板与显卡的连接,主板与电源的连接。把显卡,主板内的零件看作小号零件,这些小号零件组成了大号零件“显卡”和“主板”,小号零件之间的连接相比大号零件之间的连接更紧密。紧密的联系可以发挥出更高的性能(高聚合-高“性能高”,聚合-“联系紧密”),不那么紧密的联系便于灵活使用(松耦合-容易拼接的性能不错的接口)。简洁是常常提到的,相比说一大堆,高聚合,松耦合。有没有言简意赅?软件系统中的该发挥高性能的就弄成高聚合板块,需要更高的自由度的就考虑开一个松耦合接口,这就是我暂时的理解了。

 

以下是关于模块的部分编写原则

抽象原则(抽象:从具体事物抽出、概括出它们共同的方面、本质属性与关系等,而将个别的、非本质的方面、属性与关系舍弃,这种思维过程,称为抽象。--引用于百度百科)

使用简洁精确的描述刻画模块的行为(或者功能),这种遵循抽象原则的模块刻画方式是“契约接口”(contractual interface)

我们把一号模块看成是“服务提供者”,把使用一号模块的服务的其他模块(例如2号模块,3号模块)看作是1号模块的“客户”。把契约接口看成是服务提供者与客户之间的“服务约定”。服务约定只需要描述能够提供“什么”服务,而不是服务是“怎样”提供的。因此,也许提供的服务很复杂但也只是需要一份简单的服务契约就可以。由于具有简单的服务约定(服务契约),同是服务提供者保证遵守服务约定,因此客户要想使用复杂的服务,只需要理解简单的契约约定。约定接口允许客户使用服务而不需要关心服务的复杂性。也就是模块的复杂性被隐藏了。

就像电话,不需要了解是怎么制作的就能轻松使用。

封装原则

实现模块功能的同时让模块约定接口与模块互不接触,以及对模块的客户来说是不可见的

也叫信息隐藏原则。

封装是为了减少模块间的耦合度,客户知道的模块实现的细节越少,模块和他的客户间的耦合度就越低。封装的一个重要好处是,如果客户只知道约定接口,就可以在不影响客户的情况下修改实现,条件是契约(约定)接口保持一致。

电话服务为例,过去,信号是以模拟模式传输的,现在信号是以数字模式加密传输。尽管电话服务的实现方式改变了,但契约接口仍然保持一致。对电话用户来说,他们收到的唯一影响就是能够享受到更好的通话质量和更安全的通话传输。

——我的学习记录

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:SpringBoot2.x开发案例之整合Quartz任务管理系统

下一篇:初学Java Web(2)——搭建Java Web开发环境