【设计模式】——23种模式总结

版权声明:未经过博主同意,不得随意转发 https://blog.csdn.net/weixin_40918067/article/details/82222931

设计模式分为三类???——》

创建型模式???——》工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式;

结构型模式???——》适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式;

行为型模式???——》策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式;

是不是看了上面也看不懂,所以我们需要一些比较好记的故事模式来记:

创建型(5个):一个人(单例模式)根据一个工厂(工厂方法模式)的原型(原型模式)创建了(建造者模式)另一个工厂(抽象工厂模式);

结构型(7个):小明代替(代理模式)小雷去跟小红约会,约会的地点是桥头(桥接模式)看烟花,小明需要通过衬衣、裤子、皮鞋搭配的一套衣服(组合模式)来装扮(装饰模式)成小雷的模样(外观模式),并且模仿适配(适配器模式)小雷的行为,最后他们很享受这次的约会(享元模式);

行为型(11个):一个观察者(观察者模式)在电脑上发现了可疑的访问者(访问者模式),需要一个中介者(中介者模式)通过一连串(职责链模式)的算法策略(策略模式)进行循环迭代(迭代器模式)来解释(解释器模式)这条命令(命令模式)知道访问者的状态(状态模式),记录(备忘录模式)下来形成模板(模板方法);

特殊的模式???——》并发型模式、线程池模式;

设计模式的六大原则???——》总原则:开闭原则、单一职责原则、里氏替换原则、依赖倒转原则、接口隔离原则、迪米特法则、合成复用原则;(单一的里氏接口,其开闭依赖于迪米特的合成复用形式;)

“总原则:开闭原则”???——》能扩展为开放,不能修改为封闭;

注意:为了使程序的扩展性好,易于维护和升级;???——》使用接口和抽象类;

单一职责原则???——》不要存在多于一个导致类变更的原因???——》每个类应该实现单一的职责,否则就应该把类拆分

里氏替换原则???——》任何基类可以出现的地方,子类一定可以出现;

特点:

  • 是继承复用的基石;???——》衍生类可以替换基类,且软件单位的功能不受到影响;而衍生类也能够在基类的基础上增加新的行为;
  • 对“开-闭”原则的补充;???——》对抽象化实现具体的步骤规范;???——》基类与子类的继承关系就是抽象化的具体实现;
  • 实现“开闭”原则的关键步骤就是抽象化;
  • 子类对父类的方法尽量不要重写和重载???——》“父类”代表了定义好的结构,并通过这个规范的接口与外界交互;
  • 重写、重载???——》破坏父类的结构;

依赖倒转原则???——》面向接口编程依赖于抽象而不依赖于具体;

注意:写代码时用到具体类时,但不和具体类交互,而是和具体类的上层接口交互;

接口隔离原则???——》每个接口中不存在子类用不到,却必须要实现的方法;如果不然,就要将接口拆分;

注意:使用多个隔离的接口,比使用单个接口要好;

单个接口???——》多个接口方法集合到一个的接口;

迪米特法则(最少知道原则)???——》一个类对自己依赖的类知道的越少越好;

注意:

  • 被依赖的类发生变化时,如何最小的影响依赖的类???——》将逻辑封装在方法的内部,通过public方法提供给外部;
  • 最少知道原则的另一个表达方式;???——》只与直接的朋友通信;
  • 朋友关系???——》类之间有耦合关系;
  • 直接朋友???——》成员变量、方法参数、方法返回值中的类;
  • 不是直接的朋友???——》局部变量、临时变量;???——》我们要求陌生的类不要作为局部变量出现在类中;

大家给个赞,就是给我最大的鼓励!!!

注意:“赞”位于右上角;

猜你喜欢

转载自blog.csdn.net/weixin_40918067/article/details/82222931