# 设计模式 **Repository Path**: jinjidexiaopangzi/design_pattern_learn ## Basic Information - **Project Name**: 设计模式 - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2019-12-17 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 设计模式学习 #### 介绍 设计模式学习 ### 常见的面向对象设计原则 #### 1、单一职责原则SRP(Single Responsibility Principle) 所谓单一职责原则,指的是,一个类应该仅有一个引起一个它变化的原因。 #### 2、开放-关闭原则OCP(Open-Closed Principle) 所谓开放-关闭原则,指的是,一个类应该对扩展开放,对修改关闭。一般也简称开闭原则,开闭原则是设计中非常核心的一个原则。 #### 3、里氏替换原则LSP(Liskov Substitution Principle) 所谓里氏替换原则,指的是,子类型必须能够替换掉它们的费类型。这很明显是一种多态的使用情况,它可以避免在多态的应用中,出现某些隐藏的错误。 #### 4、依赖倒置原则DIP(Dependence Inversion Principle) 所谓依赖倒置原则,指的是,要依赖抽象,不要依赖于具体类。要做到依赖倒置,典型的应该做到: - 高层模块不应该依赖于底层模块,二者都应该依赖于抽象。 - 抽象不应该依赖于具体实现,具体实现应该依赖于抽象。 #### 5、接口隔离原则ISP(Interface Segregation Principle) 所谓接口隔离原则,指的是,不应该强迫客户依赖于他们不用的方法。 #### 6、最少知识原则LKP(Least Knowledge Principle) 所谓最少知识原则,指的是,只和你的朋友谈话。 哪些对象才能被当做朋友: - 当前对象本身。 - 通过方法的参数传递进来的对象。 - 当前对象所创建的对象。 - 当前对象的实例变量所引用的对象。 - 方法内所创建或实例化的对象。 #### 其他原则 - 面向接口编程。 - 优先使用组合,而非继承。 - 一个类需要的数据应该隐藏在类的内部。 - 类之间应该零耦合,或者只有传导耦合,就是说,类之间要么没有关系,要么只使用另一个类的接口提供的操作。 - 在水平方向上尽可能统一的分布系统功能。