《设计模式》初识 六大设计原则

《设计模式》初识

  

1.单一职责原则

    定义

    There should never be more than one reason for a class to change。

    一个类或借口只有一个被改变的原因。

 

2. 里氏替换原则

    定义

    Function that us pointers or references to base classes  must be able to use obejects of derived classes without knowing it.

   所有引用父类的地方必须能透明的使用其子类的对象。

   具体分析

   2.1 子类必须完全实现父类方法 

   2.2 子类可以有自己的个性(尽量避免)

   2.3 子类重载父类方法时参数需要扩大(例 HashMap -> Map)

   2.4 子类重载父类方法时返回参数需要缩小(例 Map -> HashMap)

 

3. 依赖倒置原则

    定义

    Hight level modules should not depend upon low level modules. both should depend upon abstractions . abstractions should not depend upon details details should depend upon abstractions .

    高层模块不应该依赖底层模块, 两者都应该依赖其抽象,抽象不应该依赖细节,细节应该依赖抽象 。

    依赖:模块间的调用

    倒置:依托接口和抽象类而不是真正的类(正置是基于面向过程编程的思想,没有接口和抽象累的概念)

    个人理解:面向接口编程是依赖倒置的最佳实践,程序员之间不必侵入对方工作内容和日程,只需做好接口契约即可,对驱动测试开发也是一个很好的原则,接口都可以mock(非侵入式的最佳实践)。

 

4. 借口隔离原则

    定义

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

    类间的相互依赖应该以来最小的接口上。

    隔离:不同模块不同业务使用不同的接口,每个接口尽量少的提供公开接口。

 

5. 迪米特法则

    定义

    类之间的认知度应该是最低的依赖接口协议将耦合度降到最低。

 

6. 开闭法则

    定义

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

    一个软件实体如类 方法 模块应该对扩展开放,对修改关闭。

转载于:https://my.oschina.net/u/2379094/blog/425378

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值