# 设计模式 **Repository Path**: suwenjiewensu/design-pattern ## Basic Information - **Project Name**: 设计模式 - **Description**: 学习设计模式 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-02-27 - **Last Updated**: 2023-03-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 设计模式 # 面向对象的七大原则 ## 1 开放封闭原则 面对拓展开放,面对修改封闭。 一个类应该使用拓展取修改它,而不是在原有的代码上进行修改 ## 2 迪米特法则 如果两个类之间不必发生直接的通信,那么这两个类之间就不应该发生直接的相互作用。 如果一个类需要调用另外一个类的方法,那么可以通过第三方调用来实现 ## 3 单一职责原则 一个类应该只有一个引起它变化的原因 简而言之就是一个类应该专注于一个功能 ## 4 里氏替换原则 凡父类出现的地方都可以由其子类替代 ## 5 接口隔离原则 应该提供尽可能小的接口,而不是使用大的接口 ## 6 依赖倒转原则 高层模块的类不应该依赖于低层模块,低层模块的类和高层模块的类都应该依赖于抽象 抽象不应该依赖于具体细节,细节应该依赖于抽象 ## 7 聚合/组合复用原则 应该尽可能使用聚合或者组合来实现泛化,而不是继承