
设计模式
文章平均质量分 58
隐官城头坐
我有一个梦想,我写的代码可以像诗歌一样优美。
展开
-
设计模式:访问者模式
访问者模式(Visitor Pattern)是一种行为型设计模式,它允许你在不修改对象结构的情况下定义作用于这些对象的新操作。访问者模式通过将操作封装到访问者对象中,使得可以在不改变元素类的前提下,增加新的操作。该模式适用于数据结构相对稳定,而操作易于变化的系统。原创 2024-05-31 23:11:38 · 358 阅读 · 0 评论 -
设计模式:模板方法模式
模板方法模式(Template Method Pattern)是一种行为型设计模式,它定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下重新定义算法中的某些步骤。模板方法模式通过将不变的行为搬移到超类,去除了子类中的重复代码。原创 2024-05-31 23:05:49 · 333 阅读 · 0 评论 -
设计模式:策略模式
策略模式(Strategy Pattern)是一种行为型设计模式,它定义了一系列算法,并将每一个算法封装起来,使得它们可以互相替换。策略模式使得算法可以独立于使用它的客户而变化。策略模式通过定义一组可互换的算法,让客户端可以在运行时选择不同的算法。原创 2024-05-31 23:00:24 · 202 阅读 · 0 评论 -
设计模式:状态模式
状态模式(State Pattern)是一种行为型设计模式,它允许一个对象在其内部状态改变时改变其行为,使对象看起来好像修改了其类。状态模式通过将状态相关的行为抽取到独立的状态类中,使得增加新状态变得容易,且不会影响到其他状态的行为。原创 2024-05-31 22:55:32 · 187 阅读 · 0 评论 -
设计模式:观察者模式
观察者模式(Observer Pattern)是一种行为型设计模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。当主题对象的状态发生变化时,它会通知所有观察者对象,使它们能够自动更新。观察者模式是事件驱动编程的一种实现方式,广泛应用于GUI框架、事件处理系统等。原创 2024-05-31 22:51:11 · 327 阅读 · 0 评论 -
设计模式:备忘录模式
备忘录模式(Memento Pattern)是一种行为型设计模式,它允许在不破坏封装性的前提下捕获和恢复对象的内部状态,从而可以在需要时将对象恢复到之前的状态。备忘录模式通过保存对象的状态来支持撤销操作。原创 2024-05-31 21:26:06 · 312 阅读 · 0 评论 -
设计模式:中介者模式
中介者模式(Mediator Pattern)是一种行为型设计模式,它定义了一个中介对象来封装一组对象之间的交互。中介者模式通过使对象不再显式地相互引用,从而使对象之间的耦合松散,且可以独立地改变它们之间的交互。原创 2024-05-31 21:18:01 · 213 阅读 · 0 评论 -
设计模式:迭代器模式
迭代器模式(Iterator Pattern)是一种行为型设计模式,它提供了一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式将遍历聚合对象的任务交给迭代器对象,从而简化了聚合对象的接口和实现。原创 2024-05-31 21:13:08 · 379 阅读 · 0 评论 -
设计模式:解释器模式
解释器模式(Interpreter Pattern)是一种行为型设计模式,它定义了一种语言的文法表示,并定义一个解释器来解释这种语言中的句子。解释器模式用于解析和执行特定语法或表达式的系统。原创 2024-05-31 18:26:20 · 436 阅读 · 0 评论 -
设计模式:命令模式
命令模式(Command Pattern)是一种行为型设计模式,它将一个请求封装为一个对象,从而使你可以用不同的请求对客户端进行参数化、对请求排队或记录请求日志,以及支持可撤销的操作。命令模式通过将请求的发送者和接收者解耦,使得可以灵活地设计请求的处理和管理。原创 2024-05-31 18:17:50 · 250 阅读 · 0 评论 -
设计模式:责任链模式
责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它允许多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合。将这些对象连接成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。原创 2024-05-31 18:09:35 · 279 阅读 · 0 评论 -
设计模式:代理模式
代理模式(Proxy Pattern)是一种结构型设计模式,它允许通过代理对象来控制对其他对象的访问。代理对象通常会在实际对象的方法调用前后进行一些额外的操作,比如延迟实例化、安全检查、日志记录等。原创 2024-05-31 17:58:04 · 436 阅读 · 0 评论 -
设计模式:享元模式
享元模式(Flyweight Pattern)是一种结构型设计模式,它通过共享细粒度对象来支持大量细粒度对象的高效共享,避免对象的多次创建,从而减少内存使用。享元模式非常适合用于实现那些包含大量相似对象的系统。原创 2024-05-31 14:06:36 · 381 阅读 · 0 评论 -
设计模式:外观模式
外观模式(Facade Pattern)是一种结构型设计模式,它为子系统中的一组接口提供一个统一的高层接口。这个高层接口使得子系统更加易于使用。原创 2024-05-31 10:05:46 · 367 阅读 · 0 评论 -
设计模式:装饰模式
装饰模式(Decorator Pattern)是一种结构型设计模式,它允许在不改变对象接口的前提下向对象添加新的行为。通过使用装饰模式,我们可以动态地将责任附加到对象上,而无需修改代码中的其他类。原创 2024-05-31 10:00:18 · 464 阅读 · 0 评论 -
设计模式:组合模式
通过组合模式,我们可以构建一个包含单个对象和组合对象的树形结构。这个模式使得客户端可以一致地处理单个对象和组合对象,从而简化了代码的操作。原创 2024-05-30 23:56:57 · 208 阅读 · 0 评论 -
设计模式:桥接模式
Override@Override通过桥接模式,我们将形状和颜色解耦,使得它们可以独立变化。我们可以在不改变颜色类的情况下增加新的形状,也可以在不改变形状类的情况下增加新的颜色。这种设计方式使得系统更加灵活和易于扩展。原创 2024-05-30 23:52:42 · 343 阅读 · 0 评论 -
设计模式:适配器模式
是一种结构型设计模式,它使得接口不兼容的类可以一起工作。它通过将一个类的接口转换成客户端期望的另一个接口,使得原本因接口不兼容而不能一起工作的类可以在一起工作。原创 2024-05-30 23:15:57 · 242 阅读 · 0 评论 -
设计模式:原型模式
是一种创建型设计模式,它允许一个对象通过复制现有的对象来创建新的实例。原型模式的主要目的是通过克隆来创建对象,而不是通过构造函数。这对于创建代价较高或复杂的对象时特别有用。原创 2024-05-30 22:58:18 · 321 阅读 · 0 评论 -
设计模式:建造者模式
是一种创建型设计模式,它允许使用多个简单的对象一步一步构建一个复杂的对象。建造者模式的主要目的是将对象的构造与它的表示分离,使得相同的构建过程可以创建不同的表示。原创 2024-05-30 22:50:48 · 323 阅读 · 0 评论 -
设计模式:抽象工厂模式
抽象工厂模式是一个创建型设计模式,主要用于创建一系列相关或相互依赖的对象,而无需指定它们具体的类。它提供一个接口,用于创建相关或依赖对象的家族,而无需明确指定具体类。原创 2024-05-30 22:32:32 · 181 阅读 · 0 评论 -
设计模式:工厂方法模式
(Factory Method Pattern)是一种创建型设计模式,它定义一个创建对象的接口,但由子类决定实例化哪一个类。工厂方法使得一个类的实例化延迟到其子类。原创 2024-05-30 22:17:34 · 893 阅读 · 0 评论 -
设计模式:简单工厂模式
Shape.java:图形接口:具体的圆形类@Override:具体的矩形类@Override:工厂类public class ShapeFactory {// 静态方法,根据输入参数创建具体图形对象。原创 2024-05-30 21:00:45 · 521 阅读 · 0 评论 -
设计模式:单例模式
有多种方式来实现单例模式,例如懒汉式、饿汉式、双重检查锁等。我们将通过以下几种方式实现单例模式。:确保一个类只有一个实例,并提供一个全局访问点。饿汉式在类加载时就实例化单例对象,线程安全。利用类加载机制确保线程安全,推荐使用。关键字保证线程安全,但性能较低。时才创建实例,但线程不安全。原创 2024-05-30 20:49:56 · 292 阅读 · 0 评论 -
23种经典设计模式
GOF提出的23种设计模式分为三大类:创建型模式、结构型模式和行为型模式。原创 2024-05-30 20:32:30 · 336 阅读 · 0 评论