.NET 设计模式—桥接模式(Design pattern

简介 桥接模式(Bridge Pattern) 也称为桥梁模式、接口模式或者柄体模式,是将抽象部分与它的具体实现部分分离,使它们都可以独立地变化,属于结构型模式。桥接模式主要目的是通过组合的方式建立两个类之间的联系,而不是继承。但又类似于多重继承方案,但是多重继承方案往往违背了类的单一职责原则,其复用性较差,桥接模式是比多重继承更好的替代方案。桥接模式的核心在于解耦抽象和实现。 在.NET中实现桥接(Bridg...

.NET 设计模式—单例模式(SingletonPattern

简介 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就非常适合。 优点 单例模式可以保证在全局内存中只有一个实例,节省了系统资源。 单例模式可以避免对资源的多重占用,例如一个写文件操作,为了保证数据不会发生冲突,必须确保只有一个实例在对它进行操作。 单例模式可以提供一个全局访问点,对...

.NET 设计模式—装饰器模式(Decorator Pattern

简介 装饰者模式(Decorator Pattern)是一种结构型设计模式,它允许你在不改变对象接口的前提下,动态地将新行为附加到对象上。这种模式是通过创建一个包装(或装饰)对象,将要被装饰的对象包裹起来,从而实现对原有对象功能的增强和扩展。 角色 Component(组件): 定义了一个抽象接口,可以是抽象类或接口,规定了被装饰对象和装饰器的共同接口。ConcreteComponent(具体组件): 实现了组...

状态模式(State Pattern

定义 状态模式(State Pattern)是一种行为设计模式,它允许对象在其内部状态改变时改变其行为。这意味着,当对象的状态发生变化时,它的行为也会发生变化。状态模式特别适用于行为依赖于其状态的对象,而且当这些状态可以独立于对象的其他部分进行变化时。 在状态模式中,我们定义一个Context类和一个State接口,以及多个实现了State接口的ConcreteState类。Context类持有一个State对...

中介者模式(Mediator Pattern

定义 中介者模式(Mediator Pattern)是一种行为设计模式,它用于将一组对象的交互行为封装在一个中介者对象中,从而减少对象之间的直接耦合。这种模式提供了一种集中式的控制方式,通过中介者对象来协调不同对象之间的交互。 示例 以下是一个简单的 C++ 中介者模式的示例,我们以聊天室为例,其中用户(User)之间的消息传递通过中介者(ChatRoom)进行协调。 #include <iostream>#...

访问器模式(Visitor Pattern

定义 访问器模式(Visitor Pattern)是一种将数据结构与数据操作分离的设计模式,它可以将对数据的操作添加到数据结构中,而不必修改已有的数据结构。这允许我们定义新的操作,而不需要修改已有的类结构。 访问器模式通常用于以下场景: 当一个数据结构包含许多不同类型的对象,你想对这些对象实施一些依赖于其具体类的操作,而不希望修改这些类的结构。需要对一个数据结构进行很多不同且不相关的操作,你想避免让这些操作"污...

命令模式(Command Pattern

定义 命令模式(Command Pattern)是一种行为设计模式,它允许将请求封装成一个对象,从而让你使用不同的请求把客户端与接收者解耦。命令模式的主要目标是实现请求的发送者和接收者之间的解耦,使得发送者不需要知道接收者的具体实现,而接收者也不需要知道请求的具体来源。 在命令模式中,通常包含以下几个角色: Command(命令):这是一个抽象接口,声明了执行命令的接口。通常包含一个执行命令的execute()...

迭代器模式(Iterator Pattern

定义 迭代器模式(Iterator Pattern)是一种行为型设计模式,它提供了一种方法来顺序访问聚合对象中的各个元素,而不需要暴露该对象的内部表示。迭代器模式使得客户端代码能够独立于聚合对象的具体实现进行遍历操作。 在迭代器模式中,我们定义以下几个角色: Iterator(迭代器):定义访问和遍历元素的接口。 ConcreteIterator(具体迭代器):实现迭代器接口,并记录遍历的当前位置。 Aggre...

组合模式(Composite Pattern

定义 组合模式(Composite Pattern)是一种结构型设计模式,它允许你将对象组合成树形结构,并且能像使用单独对象一样使用组合对象。组合模式让客户端代码对单个对象和复合对象的使用具有一致性。 在组合模式中,我们定义以下几个角色: Component:这是一个抽象组件接口,它定义了所有组件共有的行为。这些行为包括添加和删除子组件、显示子组件等。 Leaf:这是具体组件,也就是叶子节点,它实现了组件接口,...

备忘录模式(Memento Pattern

定义 备忘录模式(Memento Pattern)是一种行为设计模式,它允许在不破坏封装性的前提下捕获一个对象的内部状态,并在以后将对象恢复到该状态。备忘录模式通常用于实现撤销操作(Undo)或历史记录(History)等功能。 在备忘录模式中,我们定义三个角色: Originator:记录当前时刻它的内部状态,并可使用备忘录对象恢复到之前的状态。Memento:负责存储Originator对象的内部状态,并可...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.005628(s)
2024-05-05 17:53:54 1714902834