go设计模式

Gloming__zxy1 年前
观察者模式·设计模式·golang·go·go设计模式
GO设计模式——21、观察者模式(行为型)目录观察者模式(Observer Pattern)观察者模式的核心角色:优缺点使用场景注意事项代码实现
Gloming__zxy1 年前
设计模式·golang·go·命令模式·go设计模式
GO设计模式——16、命令模式(行为型)目录命令模式(Command Pattern)命令模式的核心角色:优缺点使用场景代码实现命令模式(Command Pattern)将一个请求封装为一个对象(命令本身),使发出请求的责任(命令发送方)和执行请求的责任(命令接收方)分割开。将请求的发送者和接收者解耦,并提供一种灵活的方式来处理请求。命令模式可以用于实现撤销、重做、队列请求等功能。
Gloming__zxy1 年前
设计模式·golang·go·解释器模式·go设计模式
GO设计模式——17、解释器模式(行为型)目录解释器模式(Interpreter Pattern)解释器模式的核心角色:优缺点代码实现解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。
Gloming__zxy1 年前
设计模式·golang·go·策略模式·go设计模式
GO设计模式——24、策略模式(行为型)目录策略模式(Strategy Pattern)策略模式的核心角色:优缺点使用场景注意事项代码实现策略模式(Strategy Pattern)允许在运行时动态地改变算法或策略的选择,从而使算法的变化独立于使用它的客户端。这种模式通过将算法封装在单独的类中,使得它们可以相互替换,并使得它们易于理解、扩展和维护。
Gloming__zxy1 年前
设计模式·golang·go·迭代器模式·go设计模式
GO设计模式——18、迭代器模式(行为型)目录迭代器模式(Iterator Pattern)迭代器模式的核心角色:优缺点使用场景代码实现迭代器模式(Iterator Pattern)提供了一种统一的方式来访问一个容器对象中的各个元素,而无需暴露其内部结构。
Gloming__zxy1 年前
设计模式·golang·go·状态模式·go设计模式
GO设计模式——22、状态模式(行为型)目录状态模式(State Pattern)状态模式的核心角色:优缺点代码实现状态模式(State Pattern)类的行为是基于它的状态改变的。该模式将对象的状态封装在一个独立的类中,并将对象的行为委托给当前状态对象。通过这种方式,对象可以在运行时更改状态,并在不同的状态下执行不同的操作。在 Go 语言中,可以使用接口来定义状态和状态对象的行为,并使用结构体来实现不同的状态。
Gloming__zxy1 年前
设计模式·golang·go·桥接模式·go设计模式
GO设计模式——8、桥接模式(结构型)目录桥接模式(Bridge Pattern)桥接模式的核心角色优缺点使用场景代码实现桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类,这两种类型的类可被结构化改变而互不影响。桥接模式的目的是将抽象与实现分离,使它们可以独立地变化,该模式通过将一个对象的抽象部分与它的实现部分分离,使它们可以独立地改变。它通过组合的方式,而不是继承
Gloming__zxy1 年前
开发语言·后端·设计模式·golang·go·建造者模式·go设计模式
GO设计模式——5、建造者模式(创建型)目录建造者模式(Builder Pattern)建造者模式的核心角色优缺点使用场景注意事项代码实现建造者模式(Builder Pattern)是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。
Gloming__zxy1 年前
单例模式·设计模式·golang·go·go设计模式
GO设计模式——4、单例模式(创建型)目录单例模式(Singleton Pattern)优缺点使用场景饿汉式和懒汉式单例模式单例模式(Singleton Pattern)是一个类只允许创建一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。单例模式通常适用于需要共享资源、管理全局状态或控制某个唯一实例的情况。在开发中,单例模式可以帮助我们解决数据结构与操作之间的耦合问题,实现代码的复用和扩展
Gloming__zxy1 年前
开发语言·设计模式·go·go设计模式
GO -- 设计模式整篇文档参考了各大神对设计模式的总结,然后整理的一篇关于使用GO来实现设计模式的文档,如有问题,请批评指正!
Gloming__zxy1 年前
开发语言·设计模式·golang·go·外观模式·go设计模式
GO设计模式——12、外观模式(结构型)目录外观模式(Facade Pattern)外观模式的核心角色:优缺点使用场景代码实现外观模式(Facade Pattern)又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,用于访问子系统中的一组接口,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。
Gloming__zxy1 年前
后端·设计模式·golang·go·责任链模式·go设计模式
GO设计模式——15、责任链模式(行为型)目录责任链模式(Chain of Responsibility Pattern)责任链模式的核心角色:
Gloming__zxy1 年前
开发语言·后端·设计模式·golang·go·适配器模式·go设计模式
GO设计模式——7、适配器模式(结构型)目录适配器模式(Adapter Pattern)优缺点使用场景注意事项代码实现适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。将一个类的接口转化为客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
Gloming__zxy1 年前
后端·设计模式·golang·go·原型模式·go设计模式
GO设计模式——6、原型模式(创建型)目录原型模式(Prototype Pattern)优缺点使用场景注意事项代码实现原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式之一。
Gloming__zxy1 年前
开发语言·后端·设计模式·golang·go·go设计模式
GO设计模式——9、过滤器模式(结构型)目录过滤器模式(Filter/Criteria Pattern)代码实现过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。可以自由组合不同的过滤条件。
Gloming__zxy1 年前
设计模式·golang·go·工厂方法模式·go设计模式
GO设计模式——3、抽象工厂模式(创建型)目录抽象工厂模式(Abstract Factory Pattern)抽象工厂模式的核心角色优缺点代码实现
Gloming__zxy1 年前
设计模式·golang·go·享元模式·go设计模式
GO设计模式——13、享元模式(结构型)目录享元模式(Flyweight Pattern)享元模式的核心角色:优缺点使用场景注意事项代码实现享元模式(Flyweight Pattern)它通过共享对象来减少内存使用和提高性能。享元模式的核心思想是共享,当需要创建一个新对象时,首先检查是否已经有与其相同的对象存在,如果存在,则直接返回该对象的引用;如果不存在,则创建一个新对象并将其加入对象池中以供下次使用。通过这种方式,可以避免重复创建相同的对象,从而减少内存占用和提高性能。
Gloming__zxy1 年前
后端·设计模式·golang·go·组合模式·go设计模式
GO设计模式——10、组合模式(结构型)目录组合模式(Composite Pattern)优缺点使用场景代码实现组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。它创建了对象组的树形结构,创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。组合最主要的功能是在整个树状结构上递归调用方法并对结果进行汇总。
Gloming__zxy1 年前
后端·设计模式·golang·go·组合模式·装饰器模式·go设计模式
GO设计模式——11、装饰器模式(结构型)目录装饰器模式(Decorator Pattern)装饰器模式的核心角色:优缺点使用场景代码实现装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。装饰器模式通过将对象包装在装饰器类中,以便动态地修改其行为。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。
Gloming__zxy1 年前
开发语言·后端·设计模式·golang·go·代理模式·go设计模式
GO设计模式——14、代理模式(结构型)目录代理模式(Proxy Pattern)代理模式的核心角色:优缺点使用场景注意事项代码实现代理模式(Proxy Pattern)通过引入代理对象来控制对真实对象的访问。