您的位置:首页 > 其它

学习设计模式六大设计原则之二

2013-05-17 21:13 302 查看
四、接口隔离原则(Interface Segregation Principle,ISP)

1、实例接口;在Java中使用关键字new产生一个实例,它是对一个类型事物的描述,它是一个接口。比如定义一个Person类,使用new实例化Person。Person
p = new Person();其中Person就是p的一个接口。

2、类接口;由Java中的关键字Interface定义的接口。

接口隔离原则的定义:

1、Clients
should not be forced to depend upon interfaces that they don't use.

2、The
dependency of one class to another one should depend on the smallest possible interface.

通过上边两条定义可以通俗点讲:接口尽量细化,同时接口中的方法尽量少。接口是我们设计时对外提供的契约,通过分散定义多个接口,可以预防未来变更的扩散,提高系统的灵活性和可维护性。根据接口隔离原则拆分接口时,首先必须满足单一职责原则。

实际设计:

1、一个接口只服务于一个子模块或者业务逻辑;

2、通过业务逻辑压缩接口中的public方法,尽量使接口达到满身筋骨肉;

3、已经被污染的接口,尽力修改,如果风险大,则使用适配器模式进行转化;

4、了解环境,拒绝盲从;

五、迪米特法则(Law
of Demeter,LoD)也称最少知识原则(Least Knowledge Principle,LKP)

规则是:一个对象应该对其他的对象有最少的了解。(Only
talk to your immedate friends)

迪米特法则要求类要羞涩一点,尽量不要对外公布太多的public方法和非静态public变量,迪米特法则的初衷在于降低类之间的耦合。由于每个类尽量减少对其他类的依赖,因此,很容易使得系统的功能模块功能独立,相互之间不存在(或很少有)依赖关系。

迪米特法则的核心观念就是类间解耦,弱耦合,只有弱耦合了,类的复用率才能提高。

六、开闭原则(Open
Closed Principle,OCP)

Software
entities like classes, modules and functions should be open for extension but closed for modification.

开闭原则是面向对象设计的基本设计规则,其他原则是开闭的具体形态的体现。

开闭原则的好处有:

提高代码的复用性,可维护性好。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: