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

四、接口隔离原则(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.

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

开闭原则的好处有:

提高代码的复用性,可维护性好。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值