企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] # 单一职责 一个类而言,只有一个引起他变化的原因.这是个最简单,最容易理解却最不容易做到的一个设计原则.说到简单点,就是怎么设计类以及类的方法界定问题 **单一职责有2个含义: 一个是避免相同的职责分散到不同的类中 另一个是避免一个类承担太多的职责** # 遵守SRP原则 1. 可以减少类之间的耦合 2. 提高类的复用性 不遵守SRP会影响对该类的复用性.当只需要复用该类的某一个职责的时候,由于它和其他的职责耦合在一起,也就很难分离出 # SRP应用 ![](https://box.kancloud.cn/dcdbad9e1a485216ad03ded2f1f87820_1111x208.png) 工厂模式允许你在代码执行时实例化该对象.它之所以被称为工厂模式是因为它负责"生成"对象.以数据库为例,工厂需要根据不同的参数,生成不同的实例化对象 最简单工厂就是根据传入的类型名称实例化对象,如传入mysql,就调用mysql,如果是sqllite,就调用sqllite,甚至可以出来txt,excel等数据库 我们创建数据库连接这块单独拿出来就行了,程序中的CURD就不用关心是什么数据了,只要按照规范使用对象方法即可 **工厂方法让具体对象解脱出来,使其并不再依赖具体的类,而是抽象** **设计模式中的命令模式也是SRP的体系,命令模式分离'命令的请求者'和'命令的实现者'方面的职责** **命令的请求和实现就完成了解耦** SRP是最简单的原则之一,也是最难做好的原则之一.我们会很自然的将职责联系在一起.找到并且分离这些职责是软件设计需要达到的目的 # MVC ![](https://box.kancloud.cn/af2ba8c7a22c7179be5e896f1769af1c_1275x451.png) ![](https://box.kancloud.cn/7ed2c9ea0dda61cf65fa998480611461_1299x471.png)