Java设计原则

1、OO设计基础java

一、封装编程

二、继承编码

三、多态spa

四、抽象设计

2、OO设计原则code

一、找出应用中须要变化之处,让它们独立出来,不要和那些不须要变化的代码混在一处。对象

二、针对接口编程,而不是针对实现编程。继承

针对接口编程,即“针对超类型编程”。针对接口编程,关键就在于多态。利用多态,程序能够针对超类型编程,不会被绑死在超类型的行为上。接口

示例:有一个抽象类Animal,有两个具体的实现(Dog与Cat)继承Animal。get

针对实现编程:

Dog d = new Dog();
d.bark();

针对接口/超类型编程:

Animal a = new Dog();
a.makeSound();

更进一步,子类实例化的动做再也不须要在代码中硬编码,而是在运行时才指定具体的对象:

a = getAnimal();
a.makeSound();

三、多用组合,少用继承。

四、为了交互对象之间的松耦合设计而努力。

五、开放-关闭原则:类应该对扩展开放,对修改关闭。

      应用该原则时,应该把注意力集中在设计中最有可能改变的地方,而后应用开放-关闭原则。  

六、依赖倒置原则

      要依赖抽象,不要依赖具体类。

      这个原则看上去很像“针对接口编程,而不是针对实现编程”,然而这里更强调抽象。这个原则说明了:不能让高层组件依赖低层组件,并且无论是高层仍是低层组件,二者都应该依赖于抽象。所谓“高层”组件,是由其余低层组件定义其行为的类。例如,PizzaStore是个高层组件,由于它的行为是由比萨定义的:Pizza建立全部不一样的比萨对象,准备、烘烤、切片、装盒;而比萨自己属于低层组件。    

       下面的指导方针,能帮助咱们避免在OO设计中违反依赖倒置原则:

        1⃣️  变量不能够持有具体类的引用。若是使用new,就会持有具体类的引用。你能够改用工厂来避开这样的作法。

        2⃣️  不要让类派生自具体类。若是派生自具体类,就会依赖具体类。请派生自一个抽象(接口或抽象类)。

        3⃣️  不要覆盖基类中已实现的方法。若是覆盖基类已实现的方法,那么你的基类就不是一个真正适合被继承的抽象。基类中已实现的方法,应该由全部的子类共享。

        咱们应该尽可能达到这个原则,而不是随时都要遵循这个原则。咱们都很清楚,任何Java成勋都有违反这些指导方针的地方。        

七、"最少知识" 原则

        定义:最少知识原则:只和你的密友谈话。

        原则初衷:但愿咱们在设计中,不要让太多的类耦合在一块儿,省得修改系统中的一部分,会影响到其余部分。

        该原则提供了一些方针:

                就职何对象而言,在该对象的方法内,咱们只应该调用属于如下范围的方法:1⃣️  该对象自己 2⃣️  被看成方法的参数而传递进来的对象 3⃣️  此方法所建立或实例化的任何对象  4⃣️  对象的任          何组件

//未采用该原则
  public float getTemp() {
    Thermometer thermometer = station.getThermometer();
    return thermometer.getTemperature();
  }
//采用该原则
  public float getTemp() {
    return station.getTemperature();
  }
相关文章
相关标签/搜索