Java设计常用的原则

单一职责原则

    单一职责原则(Single Responsibility Principle)
    就一个类而言,应该仅有一个引起它变化的原因(ASD)。通俗的说,即一个类只负责一项职责,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,
就等于把这些职责耦合在一起,一个职责的变化就可以会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到
的破坏。

开放封闭原则

    开放封闭原则(Open Close Principle)
    开放-封闭原则就是要对扩展是开放的,对修改是封闭的。就是尽量让这个类是足够好,写好了就不要去修改了,如果新需求来,我们增加一些类就完事了,原来
的代码能不动则不动。面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。这就是“开放-封闭原则”的精神所在。

依赖倒转原则

  依赖倒转原则(Dependence Inversion Principle)
  高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。即针对接口编程,不要针对实现编程。总之,依赖倒置原则
就是要我们面向接口编程,理解了面向接口编程,也就理解了依赖倒置。
  在实际编程中,我们一般需要做到如下3点:
  低层模块尽量都要有抽象类或接口,或者两者都有。
  变量的声明类型尽量是抽象类或接口。
  使用继承时遵循里氏替换原则。

里氏代换原则

   里氏代换原则(Liskov Substitution Principle)
   一个软件实体如果使用的是一个父类的话,那么一定适用于其子类,而且它察觉不出父类对象和子类对象的区别,也就是说,在软件里面,把父类都替换成它的
子类,程序的行为没有变化。
  里氏替换原则通俗的来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。它包含以下4层含义:
  1.子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
  2.子类中可以增加自己特有的方法。
  3.当子类的方法重载父类的方法时,方法的参数要比父类方法的输入参数更宽松。
  4.当子类的方法实现父类的抽象方法时,方法的返回值要比父类更严格。

接口隔离原则

    接口隔离原则(Interface Segregation Principle)
    接建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。也就是说,我们要为各个类建立专用的接口,而不要试图去建立一个很庞大
  的接口供所有依赖它的类去调用。通过分散定义多个接口,可以预防外来变更的扩散,提高系统的灵活性和可维护性。
 采用接口隔离原则要注意以下几点:
 1)接口尽量小,但是要有适度。对接口进行细化可以提高程序设计灵活性是不挣的事实,但是如果过小,则会造成接口数量过多。
 2)为依赖接口的类定制服务,只暴露给调用的类它需要的方法,它不需要的方法则隐藏起来。
 3)提高内聚,减少对外交互,用最少的方法去完成最多的事情。

迪米特法则

  迪米特法则(Law Of Demeter)
  强调了类之间的松耦合,类之间的耦合越弱,越有利于复用,一个处在弱耦合的类被修改,不会对有关系的类造成影响。无论是面向过程编程还是面向对象编程,
只有使各个模块之间的耦合尽量的低,才能提高代码的复用率。即:一个对象应该对其他对象保持最少的了解。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值