2024年6月6日发(作者:)
创建型模式
•
•
单例模式(Singleton):确保一个类只有一个实例。
– 应用场景:数据库连接池、日志记录、缓存系统。
工厂方法模式(Factory Method):定义一个创建对象的接口,但让子类
决定实例化哪个类。
– 应用场景:提供创建对象的灵活性,允许在不改变代码的情况下更
换创建逻辑。
抽象工厂模式(Abstract Factory):提供一个创建一系列相关或依赖对象
的接口,而无需指定具体的类。
– 应用场景:创建复杂的对象结构,需要保持多个对象之间的一致性。
建造者模式(Builder):将一个复杂对象的构建与它的表示分离,使其能
够一步一步创建。
– 应用场景:创建复杂的对象,需要自定义不同的配置或属性。
原型模式(Prototype):通过复制一个现有的对象来创建新的对象。
– 应用场景:创建大量相似对象时,避免重复创建的开销。
•
•
•
结构型模式
•
•
•
适配器模式(Adapter):将一个类的接口转换成另一个类所期望的接口。
– 应用场景:将不兼容的类或系统集成在一起。
桥接模式(Bridge):将抽象部分与实现部分解耦,使它们可以独立变化。
– 应用场景:当需要在抽象层和实现层之间引入灵活性时。
组合模式(Composite):将对象组织成树形结构,以便以类似的方式处理
单个对象和组合对象。
– 应用场景:表示部分与整体之间的层次关系。
装饰器模式(Decorator):在不改变对象自身的情况下,向对象添加新的
功能。
– 应用场景:向对象添加可选项功能,避免创建新的子类。
外观模式(Facade):提供一个统一的界面来访问一个子系统,隐藏其内
部复杂性。
– 应用场景:简化对复杂系统的访问,降低客户端与子系统之间的耦
合。
享元模式(Flyweight):使用共享的对象来减少内存开销和对象数量。
– 应用场景:需要创建大量相同或相似对象时。
代理模式(Proxy):为另一个对象提供一个代理或替身,以便控制对该对
象的访问。
– 应用场景:为对象添加额外的功能,如访问控制、缓存、日志记录。
•
•
•
•
行为型模式
•
•
•
•
•
•
•
•
命令模式(Command):将一个请求封装成一个对象,使请求可以参数化、
队列化和日志记录。
– 应用场景:解耦请求的发送者和接收者,允许以不同的方式执行请
求。
解释器模式(Interpreter):定义一个语言的文法,并提供一个解释器来
解释该语言。
– 应用场景:解析复杂的表达式或语法。
迭代器模式(Iterator):提供一种方法来顺序访问一个聚合对象中的元素。
– 应用场景:遍历集合中的元素,而无需暴露其内部表示。
中介者模式(Mediator):定义一个对象来协调多个对象之间的交互,避
免它们直接依赖。
– 应用场景:减少对象之间的耦合,简化维护。
观察者模式(Observer):定义一个对象(主体)和多个依赖对象(观察
者)之间的一对多依赖关系,当主体状态发生变化时,观察者会得到通知。
– 应用场景:当一个对象的状态变化需要通知多个其他对象时。
状态模式(State):允许一个对象在其内部状态发生变化时改变其行为。
– 应用场景:当一个对象的行为根据其内部状态而改变时。
策略模式(Strategy):定义一系列算法,并将每个算法封装成一个独立的
类,以便算法可以互换。
– 应用场景:当需要在算法之间切换,或需要将算法与它的调用者解
耦时。
模板方法模式(Template Method):定义一个操作的算法骨架,允许子
类重新定义某些步骤而不改变算法的结构。
– 应用场景:定义一个通用的算法,但允许子类自定义具体步骤。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1717686119a2742022.html
评论列表(0条)