设计模式标准定义一览表

本文深入解析设计模式的本质,将其定义为一种解决问题的通用设计思想,源于生活,植根于代码,旨在使程序员的工作更有序、优雅。通过引用权威定义和常见模式的简介,本文揭示设计模式如何简化复杂问题的解决过程,提高代码的可维护性和复用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欢迎来到设计模式的世界

相信许多朋友都听说过设计模式的大名。对某些人而言,它是编程高人创造出的绝世武功;对某些人而言,它是夸大其词的高山流水;对某些人而言,它又是可望而不可即的玄学义理。
今天,我想告诉大家,所谓设计模式,不是多么玄乎的东西。它是一种思想,是一种方法,就像我们生活中每天都会将事情做得尽量有条不紊一样,设计模式就是为了使我们的代码有条不紊。所以,设计模式源于生活,植于代码,它让程序员的世界变得更有秩序,也更加优雅。

如下给出设计模式的正规定义:
模式是在某种情境 下,针对某种问题解决方案

  • 情境就是应用某个模式的情况,这应该是会不断出现的情况。
  • 问题就是你希望在某种情境下达到的目标,也可以是某种情境下的约束。
  • 解决方案就是你追求的一个通用设计,用来解决约束、达成目标。

设计模式诗

专辑《长恨歌》——他的告白

繁华【装饰】着喧嚣
忧愁【适配】着烦恼
夜深深,有一个孤独的【代理】人
默默【观察】世界的纷扰

破旧的【工厂】留下了两张老默片
【外观】已是风吹雨打后的残痕斑斑
刹那间时光溯流,记忆荡起涟漪
彼时青葱日子,他是简单的【单件】
心中却【复合】着遥遥的思念
用什么【策略】才可以和她亲密无间
陷入失魂的状态
像稻草人一样可怜的【模板】

青春【迭代】远去,终究只剩下回忆
喃喃自语回忆【组合】不出你
那些【命令】的口吻,仍是温柔耳语
往事随风飘,一切已不再清晰

目光如炬,越过星河到过去
告白藏匿,长叹恨遥遥无期

以上列出了常见的13种设计模式,大家可以体会一下。
接下来献上的是真正标准权威的设计模式定义,取自HeadFirstDesignPattern书籍。

设计模式全览

设计模式定义
策略模式该模式定义了算法族,分别封装起来,让他们之间可以相互代替,使算法的变化独立于使用算法的客户。
观察者模式该模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都能收到通知并自动更新。
装饰模式该模式动态地将责任附加到对象上。若要扩展功能,它提供了比继承更有弹性的替代方案。
工厂方法模式该模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个,它使实例化推迟到了子类。
抽象工厂模式该模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。
单件模式该模式确保一个类只有一个实例,并提供一个全局访问点。
命令模式该模式将“请求”封装成对象,以便使用不同的请求、队列或日志来参数化其他对象。它也支持可撤销的操作。
适配器模式该模式将一个类的接口,转换成客户期望的另一个接口。它让原本接口不兼容的类可以合作无间。
外观模式该模式提供了一个统一的接口,用来访问子系统中的一群接口。它定义了一个高层接口,让子系统更容易被访问。
模板方法模式该模式在一个方法中定义算法的骨架,而将一些步骤延迟到子类中。它使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
迭代器模式该模式提供一种方法顺序访问聚合对象中的各个元素,而又不暴露其内部的表示。
组合模式该模式允许将对象组合成树形结构来表现“整体/部分”的层次结构。它能让客户以一致的方式处理个别对象以及组合对象。
状态模式该模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。
代理模式该模式为另一个对象提供一个替身或占位符以控制对这个对象的访问。
复合模式该模式结合两个或两个以上的模式,组成一个解决方案,解决一再发生的一致性问题。

未来的路

(有生之年系列)
之后有时间的话会逐个分析每一个设计模式及应用场景。
今天就只把定义放在这里啦~
欢迎阅读和评论哈~


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值