# 设计模式的应用学习 **Repository Path**: lanxindx/xxb-design-pro ## Basic Information - **Project Name**: 设计模式的应用学习 - **Description**: 设计模式的应用学习...... - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-12-29 - **Last Updated**: 2023-02-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 1.为什么会需要像DDD和MVC这种架构? 为了保持单一职能原则,一个类是做相关的业务,可以达到后续的可扩高效,维护起来更加方便 2.在MVC架构中,一个接口一个类就是很简单的策略者设计模式的提现 3.里氏替换法则:告诉我们子类和父类在发生继承关系的时候,关于方法重载和重写的问题说明(职责分担)里氏替换法则也是开闭 如果父类不分担一些事情,否则我在程序的开发中。我为啥要去弄个父类去继承它呢。就和现实一样,如果我的爸爸不能为我做点事情,怎么能称之为爸爸呢? 4.接口隔离原则:核心思想就是:当一个接口太大时,我们需要讲它分隔成一些更细小的接口 - 接口尽量小,但是要有限度,一个接口只服务于一个子模块或者业务逻辑 - 为依赖接口的类定制服务,只提供调用者需要的方法。屏蔽不需要的方法 - 了解业务,拒绝盲从,每个项目或产品都有特定的因素,环境不同,接口拆分的标准也不同,也深入了解业务逻辑和探讨以后在出发 - 提高内聚,较少对外交互,让接口用最少的方法完成最多的事情 - 如果你确定某个业务和某个方法未来不会扩展需要,可以不一定非得定义接口。但是如果能确定未来会进行扩展,就一定要接口。也尽量使用接口 5.依赖倒转原则:抽象不应该依赖于细节,细节应当依赖于抽象 6.简单工厂模式:避免创建者和具体产品逻辑耦合在一起,实际上也是一种开闭原则的体现,把对象进行管理 ---- 在项目中不同身份的逻辑 7.抽象工厂模式,在源码中见到的很少,因为违反开闭原则,一旦在Chair里面新增属性,就会大量修改,实际上抽象工厂就是工厂的工厂, 最外层的一个工厂 ---- 在项目中遇到了不同的数据库的解决方案 8.原型模式:潜拷贝的时候要注意是否有引用型数据类型,在开发中最常见的就是把一个对象临时存储起来,clone()这里在拷贝对象的时候是直接复制内存地址的。 而不是通过new 反射方式,所以速度和性能会非常的快 ---- 在项目中如果一个对象多次使用