Java设计模式七大原则

127 阅读2分钟

单一职责原则

基本介绍:对类来说,即一个类应该只负责一项职责,如类A负责两个不同的职责:职责1和职责2,当职责1的需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1和A2。

单一职责原则注意事项和细节 1) 降低类的复杂度,一个类只负责一项职责。 2) 提高类的可读性,可维护性 3) 降低变更引起的风险 4) 通常情况下,应该遵守单一职责原则,只要逻辑足够简单,才可以在代码级违反单一职责原则;只有类中方法数量足够少,才可以在方法级别保持单一职责原则。

实例介绍:

// 方式一,其在方法级别是符合的单一职责的。
public static void main(String[] args) {
    Vehicle vehicle = new Vehicle();
    vehicle.roadRun("汽车");
    vehicle.airRun("飞机");
    vehicle.waterRun("轮船");
}

class Vehicle{
    public void roadRun(String vehicle) {
        System.out.println(vehicle + "在公路上运行...");
    }
    
    public void airRun(String vehicle) {
        System.out.println(vehicle + "在天空上运行...");
    }

    public void waterRun(String vehicle) {
        System.out.println(vehicle + "在水中运行...");
    }
}
// 方式二,接口的方式
public static void main(String[] args) {
    VehicleInterface road = new RoadRun();
    road.run("汽车");
    VehicleInterface air = new AirRun();
    air.run("飞机");
    VehicleInterface water = new WaterRun();
    water.run("轮船");
}

public interface VehicleInterface{
    public void run(String vehicle);
}

// 公路
class RoadRun implements VehicleInterface{
    public void run(String vehicle) {
        System.out.println(vehicle + "在公路上运行...");
    }
}

// 天空
class AirRun implements VehicleInterface{
    public void run(String vehicle) {
        System.out.println(vehicle + "在天空上运行...");
    }
}

// 水中
class WaterRun implements VehicleInterface{
    public void run(String vehicle) {
        System.out.println(vehicle + "在水中运行...");
    }
}

接口隔离原则

基本介绍:客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。

依赖倒转(倒置)原则

里氏替换原则

开闭原则

迪米特法则

合成复用原则

*** 持续更新~