首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
设计模式
烟沙九洲
创建于2024-09-05
订阅专栏
跟设计模式相关的专栏,大家一起加油。
暂无订阅
共24篇文章
创建于2024-09-05
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
访问者模式
访问者模式主要用于分离算法和对象结构,从而在不修改原有对象的情况下扩展新的操作。它适用于数据结构相对稳定,而操作(行为)容易变化的场景。
模板方法模式
模板方法模式定义了一个操作中的算法骨架,并将一些步骤延迟到子类中实现。模板方法模式基于继承机制。模板方法模式在类层次上运作,因此它是静态的。
策略模式
策略模式通过将算法封装在独立的策略类中,并在运行时动态选择算法,提供了一种灵活、可扩展的解决方案,能够有效地消除冗长的条件语句,提高系统的可维护性和扩展性。
状态模式
状态模式允许对象在其内部状态改变时改变其行为,使其看上去就像改变了自身所属的类一样。状态模式的关键设计思想在于状态切换。
观察者模式
观察者模式是一种一对多的通知机制,让发送通知的一方(被观察者)和接收通知的一方(观察者)能彼此分离,互不影响。
备忘录模式
备忘录模式的核心思想是将对象的状态保存在一个独立的对象中,这样既能保持对象的封装性,又能方便地恢复对象到之前的状态。
中介者模式
中介者模式的目的是把多方会谈变成双方会谈,从而实现多方的松耦合。用一个中介对象来封装一系列的对象交互。这样,系统中的各个对象不直接互相引用,而是通过中介者进行交互,从而降低了系统的耦合度。
迭代器模式
迭代器就是提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式的主要思想是将集合的遍历行为抽取为单独的迭代器对象。
解释器模式
解释器模式为特定的语言定义文法(文法就是语法、规则的意思),并提供一个解释器来解析输入的语言(通常是字符串或符号序列)并执行相应的操作。
命令模式
命令模式把请求或者命令封装成一个对象,从而让我们可以使用不同的请求、队列或日志请求、以及支持可撤销的操作等功能。
责任链模式
责任链模式是一种处理请求的模式,它让多个处理器都有机会处理该请求,直到其中某个处理成功为止。每个处理器都包含对下一个处理器的引用,从而形成链式结构。
代理模式
代理模式通过封装一个已有接口,让调用方在不改变任何代码的前提下增强某些功能。代理模式为其他对象提供一种代理以控制对这个对象的访问。
享元模式
享元模式旨在有效共享对象,避免重复创建相同内容的对象,减少内存开销,让你能在有限的内存中载入更多对象。
外观模式
外观模式旨在将客户端与多个复杂子系统的交互进行解耦,客户端无需了解子系统的内部实现细节,只需要通过外观类提供的接口与系统进行交互。
装饰器模式
封装器是装饰模式的别称,封装器实现了与其封装对象相同的接口。我们可以将一个对象放入多个封装器中,并在对象中添加所有这些封装器的组合行为。
组合模式
组合模式将对象组合成树形结构以表示部分-整体的层次结构。通过组合模式,可以统一处理单个对象和对象集合,简化了对复杂树形结构的操作。
桥接模式
桥接模式的定义颇为玄乎。其主要目的是将抽象部分与实现部分分离,使它们可以独立变化。简单地来说,桥接模式通过引入一个抽象层和具体实现层之间的桥梁,来减少二者之间的耦合度。
适配器模式
将一个类的接口转换成我们希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作,就是适配器。适配器模式旨在解决不同接口之间的兼容性问题。
原型模式
原型模式的本质是拷贝原型来创建新的对象,需要批量创建新对象且都是同一个类的对象的时候可以考虑使用原型模式。
生成器模式
生成器模式将复杂对象的构建过程封装在生成器内部,使得客户端代码更简洁、清晰。当产品较为复杂且需要详细配置时,使用生成器模式才更有意义。
下一页