什么是搭建网站,wordpress搜索慢怎么解决,专业网站建设设计装饰,网站开发使用哪种工具好文章目录 设计模式的目的设计模式原则单一职责原则基本介绍应用实例单一职责原则注意事项和细节 设计模式的目的
1#xff0c;代码重用性#xff08;即#xff1a;相同功能的代码#xff0c;不用多次编写#xff09;
2#xff0c;可读性#xff08;即#xff1a;编程… 文章目录 设计模式的目的设计模式原则单一职责原则基本介绍应用实例单一职责原则注意事项和细节 设计模式的目的
1代码重用性即相同功能的代码不用多次编写
2可读性即编程规范性便于其他程序员的阅读和理解
3可扩展性当需要增加新的功能时非常的方便称为可维护性
4可靠性即当我们增加新的功能时对原来的功能没有影响
5使程序呈现高内聚低耦合的特性
设计模式原则
设计模式常用的七大原则有:
单一职责原则接口隔离原则依赖倒转(倒置)原则里氏替换原则开闭原则迪米特法则合成复用原则
单一职责原则
基本介绍
对类来说的即一个类应该只负责一项职责。如类 A 负责两个不同职责职责 1职责 2。当职责 1 需求变更而改变 A 时可能造成职责 2 执行错误所以需要将类 A 的粒度分解为 A1A2
应用实例
以交通工具案例讲解
方案1
public class Singleresponsibility1 {public static void main(String[] args) {Vehicle vehicle new Vehicle();vehicle.run(摩托车);vehicle.run(小汽车);vehicle.run(飞机);}
}//交通工具类//方式1
//1.在方式1的 run方法中违反了单一职责
//2.解决的方案非常简单根据交通运行的方式不同分解成不同的类即可class Vehicle{public void run(String vehicle) {System.out.println(vehicle 在公路上运行......);}
}//飞机如何在公路中运行的方案2
public class Singleresponsibility2 {public static void main(String[] args) {RoadVehicle roadVehicle new RoadVehicle();roadVehicle.run(摩托车);roadVehicle.run(汽车);AirVehicle airVehicle new AirVehicle();airVehicle.run(飞机);}
}//方案2的分析
//1.遵守单一职责原则
//2.但是这样做的改动很大即将类分解同时修改客户端
//3.改进直接修改 Vehicle 改动的代码会比较少 引出方案3class RoadVehicle {public void run(String vehicle) {System.out.println(vehicle 公路运行....);}
}class AirVehicle {public void run(String vehicle) {System.out.println(vehicle 天空运行....);}
}class WaterVehicle {public void run(String vehicle) {System.out.println(vehicle 水中运行....);}
}多次创建类名也会增加系统负担
方案3
public class Singleresponsibility3 {public static void main(String[] args) {Vehicle2 vehicle2 new Vehicle2();vehicle2.run(汽车);vehicle2.runWater(轮船);vehicle2.runAir(飞机);}
}//方式3的分析
//1.这种修改的方法没有对原来的类做大的修改只是增加方法
//2.这里虽然没有在类的这个级别上遵守单一职责原则但是在方法的级别上仍然遵守了单一原则class Vehicle2{public void run(String vehicle) {System.out.println(vehicle 在公路上运行......);}public void runAir(String vehicle) {System.out.println(vehicle 在天空上运行......);}public void runWater(String vehicle) {System.out.println(vehicle 在水中上运行......);}
}单一职责原则注意事项和细节
降低类的复杂度一个类只负责一项职责。提高类的可读性可维护性降低变更引起的风险通常情况下我们应当遵守单一职责原则只有逻辑足够简单才可以在代码级违反单一职责原则只有类中方法数量足够少可以在方法级别保持单一职责原则