做商业网站要交税吗,网站反链增加,vps试用30天,房地产行业网站“GOF” 指的是 “Gang of Four”#xff0c;即“四人帮”#xff0c;他们是指 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides。这四位作者在其著作《Design Patterns: Elements of Reusable Object-Oriented Software》中定义了23种设计模式#xff0c;这些…“GOF” 指的是 “Gang of Four”即“四人帮”他们是指 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides。这四位作者在其著作《Design Patterns: Elements of Reusable Object-Oriented Software》中定义了23种设计模式这些模式被广泛应用于软件开发中。根据他们解决问题的性质设计模式可以分为三大类创建型模式、结构型模式和行为型模式。
1. 创建型模式Creational Patterns
创建型模式主要关注如何创建对象目的是通过使用不同的方式来创建对象从而增强程序的灵活性和可复用性。
单例模式Singleton确保一个类仅有一个实例并提供全局访问点。工厂方法模式Factory Method定义一个创建对象的接口但由子类决定要实例化的类。抽象工厂模式Abstract Factory提供一个创建一系列相关或相互依赖对象的接口而无需指定它们具体的类。建造者模式Builder使用多个简单的对象一步步构建成一个复杂的对象。原型模式Prototype通过复制已有的实例来创建新的对象而不是通过类构造。
2. 结构型模式Structural Patterns
结构型模式关注类或对象的组合旨在通过组合现有类或对象来形成更大的结构。
适配器模式Adapter将一个类的接口转换成客户希望的另一个接口。桥接模式Bridge将抽象部分与其实现部分分离使它们可以独立变化。组合模式Composite将对象组合成树形结构以表示部分-整体的层次结构。装饰模式Decorator动态地给对象添加职责或行为。外观模式Facade为子系统中的一组接口提供一个统一的高层接口。享元模式Flyweight通过共享对象来减少内存占用适用于大量相似对象的场景。代理模式Proxy通过代理对象控制对某个对象的访问通常用于控制对象的访问或增加额外的功能。
3. 行为型模式Behavioral Patterns
行为型模式主要关注对象之间的交互提供了对象之间的责任分配和通信方式。
责任链模式Chain of Responsibility将请求的发送者和接收者解耦让多个对象都有机会处理请求。命令模式Command将请求封装为一个对象从而使你可以对请求排队或记录请求日志以及支持可撤销的操作。解释器模式Interpreter提供一种语言的文法的解释器主要用于构建语言解析器。迭代器模式Iterator提供一种方法访问一个集合对象中的各个元素而不暴露该对象的内部表示。中介者模式Mediator用一个中介对象封装一系列的对象交互促进松耦合。备忘录模式Memento在不破坏封装的情况下捕获对象的内部状态并在适当时刻恢复。观察者模式Observer定义对象之间的一对多依赖关系以便当一个对象改变状态时所有依赖于它的对象都得到通知并自动更新。状态模式State允许对象在内部状态改变时改变它的行为使状态的改变看起来像是改变了对象。策略模式Strategy定义一系列算法并将每一个算法封装起来使它们可以互换。模板方法模式Template Method在一个方法中定义一个算法的框架而将一些步骤延迟到子类中。访问者模式Visitor表示一个作用于某种数据结构中的各元素的操作能够在不修改数据结构的前提下定义新的操作。
关注的问题
GOF设计模式着重解决以下问题
创建问题如何有效创建对象与控制对象的生命周期如单例或工厂模式。结构问题如何更高效地组合不同的类和对象以形成复杂的结构如组合或适配器模式。行为问题如何高效地处理对象之间的交互和责任分配如观察者、命令和策略模式。
设计模式的使用不仅可以提升代码的可读性和可维护性还能提高代码的复用性和灵活性。理解这些模式及其应用场景将有助于设计出更高质量的软件系统。