设计模式的原则

引用大佬的blog:http://blog.csdn.net/lovelion/article/details/17517213


读完之后写了一些自己理解的东西:

1. 为了满足开闭原则,需要对系统进行抽象画设计,抽象化是开闭原则的关键。
java中,可以为系统定义一个相对稳定的抽象层,而将不同的实现行为移到具体的实现层中完成。
 一个接口与多个实现类


里氏替换原则是实现开闭原则的重要方式之一
2. 所有引用父类的地方必须能透明地使用其子类的对象


依赖倒转原则
3.抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程
  要求我们在程序代码中传递参数时活在关联关系中,尽量引用层次高的抽象层类
  即使用接口和抽象类进行类型声明/参数类型声明/方法返回类型声明,以及数据类型的转换等,
而不要用具体类来做这些事情


接口隔离原则:
4.使用多个专门的接口,而不是使用单一的总接口,即客户端不应该依赖哪些它不需要的接口
  每一个接口应该承担一种相对独立的角色,不干不该干的事情,该干的事都要干


合成复用原则:
5.尽量使用对象组合,而不是继承来达到复用的目的
---
一般而言,如果两个类之间是"has A"的关系应使用组合或聚合,如果是"IS A"的关系可以使用继承。
has A 一般是具有某种职责如果不通过imp则会使用该接口的引用来使该对象有该职责




6.迪米特法则:一个软件实体应当尽可能少地与其他实体发生相互作用
实例中的应用:ide中的各种插件会有相关的联系:比如按钮点击之后会有窗口,音量等其余控件的
状态变化--->解决: 使用一个中间类,持有所有控件的引用,对于某个控件的改变,只会在该类中
改变其他控件的状态,而不像原来,一个控件的影响写在该控件的操作逻辑中

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值