导图社区 设计模式
这是一个关于设计模式的思维导图,讲述了设计模式的相关故事,如果你对设计模式的故事感兴趣,欢迎对该思维导图收藏和点赞~
这是一个关于通信网络化的思维导图,讲述了通信网络化的相关故事,如果你对通信网络化的故事感兴趣,欢迎对该思维导图收藏和点赞~
这是一个关于通讯埠的思维导图,讲述了通讯埠的相关故事,如果你对通讯埠的故事感兴趣,欢迎对该思维导图收藏和点赞~
这是一个关于通用计算机的思维导图,讲述了通用计算机的相关故事,如果你对通用计算机的故事感兴趣,欢迎对该思维导图收藏和点赞~
社区模板帮助中心,点此进入>>
设计模式
Java语言基础编程
设计模式思维导图
23种设计模式知识导图
软件体系结构和设计模式
分类
创建型模式
包括工厂模式、抽象工厂模式、单例模式、建造者模式和原型模式,用于创建对象的模式。
结构型模式
包括适配器模式、装饰器模式、代理模式、组合模式、桥接模式、外观模式和享元模式,用于描述如何组合类和对象以形成更大的结构。
行为型模式
包括策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式和解释器模式,用于描述对象之间的交互和职责分配。
工厂模式
是一种用于封装实例化对象过程的设计模式。它通过使用工厂方法来解耦对象的创建和使用。
单例模式
是一种保证一个类只有一个实例,并提供访问该实例的全局接口的设计模式。它常用于控制资源的访问权限。
代理模式
是一种为其他对象提供一种代理以控制对这个对象的访问的设计模式。通过使用代理,可以在不改变原来的类结构和接口的情况下,增强目标对象的功能。
观察者模式
是一种定义了一种一对多依赖关系的设计模式。当对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。
迭代器模式
是一种提供一种方法顺序访问一个聚合对象中各个元素,而不需要暴露该对象内部表示的设计模式。
模板方法模式
是一种定义了一个算法的骨架,将一些步骤延迟到子类中实现的设计模式。它可以在不改变算法结构的情况下,通过重写其中的某些步骤来改变算法的行为。
责任链模式
是一种将请求从发送者传递到接收者直到能够处理请求的对象的设计模式。每个接收者都可以选择将请求处理,或者将其传递给链中的下一个接收者。
命令模式
是一种将请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化的设计模式。它可以支持请求的排队或记录请求日志,以及支持撤销操作。
策略模式
是一种定义了一系列算法的方法,并将它们封装起来,使它们可以互相替换的设计模式。它可以使算法的变化独立于调用者。
适配器模式
是一种将一个类的接口转换成客户希望的另一个接口的设计模式。适配器模式可以解决由于接口不兼容而不能协同工作的问题。
组合模式
是一种用于将对象组合成树状结构从而表示“整体-部分”层次结构的设计模式。组合模式使得用户对单个对象和组合对象的使用具有一致性。
建造者模式
是一种将一个复杂对象的创建与表示分离的设计模式。通过建造者模式可以将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。
外观模式
是一种为子系统中的一组接口提供一个统一的界面的设计模式。通过使用外观模式,可以将系统的复杂性隐藏起来,使得客户端可以更加简单地与系统进行交互。
享元模式
是一种通过尽量减少共享对象所需的内存来减少系统中的对象数量,从而提高系统的性能的设计模式。可以将对象分为内部状态和外部状态,将共享对象的内部状态作为共享对象的成员变量,外部状态作为方法的参数进行外部传递。
桥接模式
是一种将抽象部分与其实现部分分离的设计模式。通过将抽象与实现解耦,可以独立地改变抽象与实现的类的层次结构,从而使它们可以独立地变化。
装饰器模式
是一种通过动态地给一个对象添加一些额外的职责,而不需要修改该对象的类的设计模式。它通过使用一个装饰器类来包装原始对象,从而在不改变原始对象的情况下添加新的功能。
中介者模式
是一种用于降低多个对象之间的耦合性的设计模式。中介者模式通过引入一个中介者来封装对象之间的交互,从而使它们可以独立地进行改变和复用。
备忘录模式
是一种在不破坏封装性的前提下,将对象的状态保存到外部并在需要的时候恢复的设计模式。备忘录模式可以在不暴露对象细节的情况下,实现对象状态的保存和恢复。
状态模式
是一种将对象的状态封装成为独立的类,并将对状态的操作委托给当前的状态类的设计模式。通过使用状态模式,可以使得对象的行为根据其内部状态的变化而发生改变。
解释器模式
是一种描述如何将语言文法中的句子表示为一个抽象语法树并定义解释器来解释这个语法树的设计模式。通过使用解释器模式,可以定义一种语法规则,并定义一个解释器来解释它。
访问者模式
是一种将一个算法与一个对象结构进行分离的设计模式。通过使用访问者模式,可以在不改变对象结构的情况下,定义对该对象结构上的各个元素的新操作。
总结: 设计模式是一种可用于软件设计过程中的经验和方法,有助于提高代码的可复用性、可维护性和灵活性。设计模式主要分为创建型模式、结构型模式和行为型模式。其中常用的设计模式包括工厂模式、单例模式、代理模式、观察者模式、迭代器模式、模板方法模式、责任链模式、命令模式、策略模式、适配器模式、组合模式、建造者模式、外观模式、享元模式、桥接模式、装饰器模式、中介者模式、备忘录模式、状态模式、解释器模式和访问者