设计模式-编程原则规范

单一职责原则

  每个类(类级别单一职责)或方法(方法级别单一职责)应该只有一个职责,对外只提供一种功能,引起类或方法变化的原因应该只有一个。
  只有逻辑足够简单,才可以在类级别上违反单一职责原则;只有类中方法数量足够少,才可以在方法级别上违反单一职责原则;

单一职责原则优点:

  • 降低复杂度;
  • 提高可读性,提高系统可维护性;
  • 降低变更引起的风险。

里氏代换原则

  里氏代换原则(Liskov Substitution Principle ):任何父类可以出现的地方,子类一定可以出现。
  里氏代换原则是继承复用的基石,只有当子类可以替换掉父类,软件单位的功能不受到影响时,父类才能真正被复用,而衍生类也能够在父类的基础上增加新的行为。里氏代换原则是对开闭原则的补充。实现开闭原则的关键步骤就是抽象化。而父类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。

  当使用继承时,遵循里氏替换原则。类B继承类A时,除添加新的方法完成新增功能外,尽量不要重写父类A的方法,也尽量不要重载父类A的方法。
  里氏替换原则通俗的来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。它包含以下4层含义:

  • 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
  • 子类中可以增加自己特有的方法。
  • 当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
  • 当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。

依赖倒转原则

  依赖倒置原则是(Dependence Inversion Principle ):开闭原则的基础,具体内容:真对接口编程,依赖于抽象而不依赖于具体。

接口隔离原则

  接口隔离原则(Interface Segregation Principle ):一个接口不需要提供过多的行为,最好只提供一种对外的功能,不要把所有的操作都封装到一个接口中。

  使用多个隔离的接口,比使用单个接口要好。降低类之间的耦合度,其实设计模式就是一个软件的设计思想,从大型软件架构出发,为了升级和维护方便。所以要降低依赖,降低耦合。

迪米特法则

  迪米特法则(Demeter Principle ):一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。

合成复用原则

  合成复用原则(Composite Reuse Principle ):使用合成/聚合而不是使用继承。

开闭原则

  开闭原则(Open Close Principle ):对扩展开放,对修改关闭。

  在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。

参考资料

  • 《重学Java设计模式》小傅哥
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值