概述
设计模式学习
-
设计模式的目的
在软件编写过程中,开发人员面对着来自耦合性、内聚性、可维护性、可扩展性、重用性以及灵活性等多方面的挑战,而设计模式是为了让程序(软件)具有更好的
- 代码重用性(相同的代码,不应该多次编写)
- 可读性(代码的规范性)
- 可扩展(增加新的功能,非常的方便)
- 可靠性(增加的新功能,对原来的功能没有影响)
使程序具有高内聚、低耦合的特性
一、七大设计原则
设计模式中常用的七大原则有:
- 单一职责原则
- 接口隔离原则
- 依赖反转原则
- 里氏替换原则
- 开闭原则(ocp)
- 迪米特法则
- 合成复用原则
1.1、单一职责原则
对类来说,一个类应该只负责一项职责。如果类A负责两个不同的职责:职责A1,A2。当职责A1改变时,可能会影响A2执行错误,所以需要将类A的粒度分解为A1,A2。
1.1.1、代码示例
-
示例一
/** * 单一职责原则 * @ClassName SingleResp01 * @Author lcc * @Date 2022/10/30 22:47 * @Version 1.0 */ /** * 这种方式违反了类的单一职责原则,一个类负责多个职责 */ public class SingleResp01 { public static void main(String[] args) { Vehicle vehicle = new Vehicle(); vehicle.run("小汽车"); vehicle.run("大巴车"); vehicle.run("行搜母舰"); } } class Vehicle{ public void run(String vehicle){ System.out.println(vehicle + "在公路上跑..."); } }
-
示例二
/** * 单一职责原则02 * @ClassName SingleResp02 * @Author lcc * @Date 2022/10/30 22:47 * @Version 1.0 */ /** * 这种模式完全遵循了单一职责原则,但是成本太大了,建的类很多 */ public class SingleResp02 { public static void main(String[] args) { RoadVehicle roadVehicle = new RoadVehicle(); roadVehicle.run("大巴车"); AirVehicle airVehicle = new AirVehicle(); airVehicle.run("歼-17"); WaterVehicle waterVehicle = new WaterVehicle(); waterVehicle.run("行搜母舰"); } } class 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 + "在海里游..."); } }
-
示例三
/** * 单一职责原则03 * @ClassName SingleResp02 * @Author lcc * @Date 2022/10/30 22:47 * @Version 1.0 */ /** * 这种模式虽然在类上并没有遵循单一职责原则, * 但是在方法上遵循了单一职责原则 */ public class SingleResp03 { public static void main(String[] args) { Vehicle2 vehicle = new Vehicle2(); vehicle.roadRun("兰博基尼"); vehicle.airRun("直升机"); vehicle.waterRun("轮船"); } } class Vehicle2{ 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 + "在海里游..."); } }
1.1.2、总结
- 降低类的复杂度,一个类只负责一项职责
- 提高类的可读性、可维护性
- 降低变更引起的风险
- 通常情况下,我们应该遵循单一职责原则,只有当逻辑足够简单、类中的方法足够少,我们才可以在代码级别违反单一职责原则,在方法上遵循单一职责原则。
最后
以上就是唠叨电话为你收集整理的设计模式学习笔记设计模式学习一、七大设计原则的全部内容,希望文章能够帮你解决设计模式学习笔记设计模式学习一、七大设计原则所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复