设计模式总览,简单介绍

        设计模式是软件设计中用于解决常见问题的方法,它们提供了一组可重用的设计解决方案。23种设计模式可以分为创建型模式、结构型模式和行为型模式三大类,每种模式都有其特定的应用场景和目的。

创建型模式

        创建型模式关注于对象的创建过程,其核心目的是将对象的创建与使用分离,提高程序的扩展性和维护性。


- 工厂方法模式:适用于当一个类不知道它必须创建的对象的确切类时,让子类决定实例化哪一个类。


- 抽象工厂模式:为创建一组相关或依赖对象提供一个接口,而不需要指定它们具体的类

- 单例模式:确保某个类只有一个实例,并提供一个全局访问点来访问它。

- 建造者模式:允许将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

- 原型模式:通过复制一个现有对象来生成新对象,适用于快速创建大量同类对象的场景。


结构型模式

        结构型模式主要关注类与对象之间的组合,通过组合来获得新功能。


- 适配器模式:允许将一个类的接口转换成另一个接口,以便于不兼容的类可以一起工作。

- 装饰器模式:在不改变现有对象的情况下动态地给它们添加新的职责

- 代理模式:为另一个对象提供了一个替身或占位符,以便控制对这个对象的访问。

- 桥接模式:将抽象部分和实现部分分离,以便它们可以独立变化。

- 组合模式:允许将对象组成树形结构来表现“整体/部分”层次结构。

- 外观模式:提供了一个统一的接口,用来访问子系统中的一群接口

- 享元模式:通过共享对象来最大限度地减少内存占用。


行为型模式

        行为型模式主要关注对象间的通信和交互,以及对象的状态和行为。


- 策略模式:定义了一组算法,并将它们封装起来,使它们可以相互替换。

- 中介者模式:一个中介对象来封装一系列的对象交互,使各对象不需要显式地相互引用。

- 观察者模式:定义了对象之间的一对多依赖,以便当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。

- 迭代器模式:提供了一种方法来访问一个容器对象中各个元素,而又不暴露该对象的内部细节。

- 模板方法模式:定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。

- 解释器模:定义了一个语言的文法,并且建立一个解释器来解释该语言中的句子。

- 状态模式:允许一个对象在其内部状态改变时改变它的行为

- 责任链模式:为请求创建了一个接收者对象的链,每个接收者都包含对另一个接收者的引用。

- 访问者模式:把作用于某个对象结构中各元素的操作分离出来封装成独立的类。

- 命令模式:将一个请求封装为一个对象,以便使用不同的请求、队列或日志来参数化其他对象。

- 备忘录模式:提供了一种方法来在不破坏封装性的情况下获取一个对象的内部状态,并在需要的时候将对象恢复到先前的状态。

        每种设计模式都有其适用场景,合理运用可以解决特定的设计问题,提高代码的可维护性和可扩展性。

总结:大白话解释设计模式

  • 1. 简单工厂模式:就像一个厨师,你说要蛋糕,他就给你做蛋糕,你说要面包,他就给你做面包,但是这个厨师只会做固定的几样。
  • 2. 工厂方法模式:就是有一群厨师,你说要蛋糕,就有个专门做蛋糕的厨师来做,要面包就有个专门做面包的厨师来做,每个人都只做自己擅长的。
  • 3. 抽象工厂模式:就像一个餐厅,里面啥菜系的厨师都有,你说今天想吃川菜,就给你川菜厨师做,想吃粤菜就给你粤菜厨师做。
  • 4. 建造者模式:就像你去快餐店点套餐,可以选汉堡、薯条、可乐,组合起来给你。
  • 5. 单例模式:就像一本珍贵的秘籍,全世界就一本,谁都可以看,但不能复制。
  • 6. 原型模式:就像孙悟空拔根毛变出分身,想变几个就几个。
  • 7. 适配器模式:就像你手机充电头和插座不匹配,加个转换器就搞定了。
  • 8. 桥接模式:就像你买的电脑,可以换不同的操作系统。
  • 9. 组合模式:就像文件夹套文件夹,里面可以放文件也可以放文件夹。
  • 10. 装饰器模式:就像咖啡,原味的可以,加点糖、奶也可以。
  • 11. 外观模式:就像电视遥控器,一个按钮可以控制电视的开关、音量等。
  • 12. 享元模式:就像共享单车,大家都可以用,不用每个人都买一辆。
  • 13. 代理模式:就像你买房时找的中介,帮你谈价格、签合同。
  • 14. 观察者模式:就像你关注的微博大V,他一发微博,你就能收到。
  • 15. 迭代器模式:就像音乐播放器的播放列表,可以一首一首往下听。
  • 16. 中介者模式:就像微信群聊,拉个群主进来,大家通过群主协调交流。
  • 17. 解释器模式:就像计算器,你输入公式,它给你结果。
  • 18. 命令模式:就像你用的遥控器,按不同的按钮电视执行不同的操作。
  • 19. 备忘录模式:就像游戏存档,你存了档,下次可以接着玩。
  • 20. 状态模式:就像红绿灯,根据当前状态(红、黄、绿)决定能不能走。
  • 21. 责任链模式:就像公司请假,先找组长,组长不管再找经理,一级一级往上。
  • 22. 访问者模式:就像老师检查作业,不管学生交了啥作业,老师都会检查。
  • 23. 策略模式:就像你玩游戏,可以选择不同的角色,每个角色有不同技能。
     
  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值