23种设计模式总结

  1. 面向对象的编程,并不是类越多越好,类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是类。
  2. 开放-封闭原则,单一原则:是说软件实体可以(类、模块、函数等等)应该可以扩展,但是不可以修改。(对于扩展是开放的,对于更改是封闭的)
  3. 单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。
  4. 依赖倒转原则:高层模块不应该依赖底层模块,两个都应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象。
  5. 里氏代换原则:子类型必须能够替换掉他们的父类型。
  6. 迪米特法则:如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,就可以通过第三者转发这个调用。
  7. 反射:Assembly.Load("程序集名称").CreateInstance("命名空间.类名称")
  8. 合成/聚合复用原则:尽量使用合成/聚合,尽量不要使用类继承。
    一.简单的工厂模式(代码无错就是优)

    二.策略模式(商场促销):它定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的用户

    三.装饰模式(小菜扮靓):动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。

    四.代理模式(为别人做嫁衣)

    五.工厂方法模式:定义了一个用于创建对象的接口,让子类决定实例化哪一个类。

    六.原型模式(简历复印)

    七.模板方法模式(考题抄错)

    八.外观模式(股票)


    九.建造者模式(好菜每回味不同)

    十.观察者模式(老板回来,我不知道)

    十一.抽象工厂模式


    十二.状态模式(加班)


    十三.适配器模式(在NBA我需要翻译)


    十四.备忘录模式(游戏存进度)

    十五.组合模式(树结构,公司管理系统)
    十六.迭代模式(售票员)


    十七.单例模式(类需要计划生育)

    十八.桥接模式(手机软件需要统一)

    十九.命令模式(卖肉串的)
    二十.职责链模式(请假)
    二十一.中介者模式
    二十二.亨元模式
    二十三.解释器模式
    二十三.访问者模式
相关推荐
刀法如飞10 小时前
开箱即用的 DDD(领域驱动设计)工程脚手架,基于 Spring Boot 4.0.1 和 Java 21
java·spring boot·mysql·spring·设计模式·intellij-idea
GISer_Jing13 小时前
AI Agent 人类参与HITL与知识检索RAG
人工智能·设计模式·aigc
Tiny_React18 小时前
Claude Code Skills 自优化架构设计
人工智能·设计模式
胖虎11 天前
iOS中的设计模式(十)- 中介者模式(从播放器场景理解中介者模式)
设计模式·中介者模式·解耦·ios中的设计模式
Geoking.1 天前
【设计模式】组合模式(Composite)详解
java·设计模式·组合模式
刀法孜然1 天前
23种设计模式 3 行为型模式 之3.6 mediator 中介者模式
设计模式·中介者模式
Yu_Lijing1 天前
基于C++的《Head First设计模式》笔记——单件模式
c++·笔记·设计模式
Geoking.1 天前
【设计模式】外观模式(Facade)详解
java·设计模式·外观模式
点云SLAM1 天前
C++设计模式之单例模式(Singleton)以及相关面试问题
c++·设计模式·面试·c++11·单例模式(singleton)
GISer_Jing2 天前
AI Agent 目标设定与异常处理
人工智能·设计模式·aigc