《java与模式》-6 代码中应该遵守的原则

里氏替换原则

凡基类适用的地方,子类一定适用。子类可以直接替换基类。


依赖倒转原则

要依赖于抽象不要依赖于具体。
要针对接口编程

  • 依赖倒转虽然强大,却不容易实现。而且维护这样的系统需要很好的面向对象的设计知识;
  • 并且并不是所有类都会发生变化,一些相当稳定的类,就不必有抽象类型。

联合适用java接口和java抽象类

java接口用来声明类型定义规则,抽象类做默认实现,具体实现类就直接继承抽象类,这样就直接拥有了默认实现。
如果接口需要新增方法了,那么就可以直接,在抽象类中做默认实现,这样,所有的子类就都得到了这个具体方法。
例子有很多 Map、List、Set


接口隔离原则

使用多个专门的接口比使用单一的总接口好。
尽量控制对外接口,
定制服务:不要向客户端提供不需要的方法。对外的接口要控制接口的宽度。


合成聚合复用原则

要尽量使用合成聚合,尽量不要使用继承。
缺点:这种复用建造的系统需要更多的对象需要管理。


迪米特法则

一个对象应当对其他对象有尽可能少的了解。
例:某人、朋友、陌生人,某人不应直接与陌生人相互作用,而应该是某人与朋友相互作用,朋友与陌生人相互作用。这时候就是朋友将某人对陌生人的调用转发给了陌生人 –这就是调用转发。
具体参见 门面模式、调停者模式。

广义的迪米特法则:对象之间的信息流量、流向、信息的影响的控制。
好的设计是将实现的细节隐藏起来,就是封装;

设计时应当注意一下几点:
1. 应当创建弱耦合的类;
2. 结构上降低成员的访问权限;尽量private
3. 设计上尽量设计成不变类;final
4. 对其它对象的引用应当降低到最低;
5. 变量只在使用的时候声明(尽量设置小的局域变量)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值