# GOF设计模式 **Repository Path**: neoj/gof-design-pattern ## Basic Information - **Project Name**: GOF设计模式 - **Description**: C#设计模式案例 GOF设计模式 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-12-08 - **Last Updated**: 2022-10-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GOF设计模式 OOP 封装,继承,多态 面向对象 1.从概念层面讲,对象是某种拥有责任的抽象。 2.从规格层面讲,对象是可被其他对象使用的公共接口。 3.从语言层面讲,对象是封装了代码行为和数据状态。 设计原则 1.针对接口编程,而不是针对实现编程。 2.优先使用对象组合,而不是继承。 3.封装变化点。 A is B A:B(A继承B) A has B A{B}(A组合B) 高内聚,低耦合 使用重构得到模式,设计模式不是技巧。 设计六大元原则: 总原则:开放封闭(OCP):类模块对扩展开放,对更改封闭。 单一职责(SRP):一个类应该仅有一个引起它变化的原因。 里氏替换(LSP):子类必须能够替换基类。 依赖倒置(DIP):针对接口编程,依赖于抽象而不依赖于具体。 接口隔离(ISP):使用多个隔离的接口,降低耦合。 迪米特法则(DP):实体类之间减少耦合。 合成复用(CRP):优先使用组合而非继承。 设计模式分为三大类: 创建型模式(负责对象创建):工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式(处理类与对象的组合):适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式(类与对象交互中职责分配):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 参考的文章: https://www.cnblogs.com/PatrickLiu/category/899680.html