设计模式
文章平均质量分 56
梧桐碎梦
这个作者很懒,什么都没留下…
展开
-
23种设计模式总结
所以在工作中需要先找到业务中重复的部分,再根据重复的类型,找到对应类型的设计模式,根据每种设计模式的机制确定哪种设计模式适合当前的业务。结构型:将对象或类组合成更大的结构,同时保持对外结构的不变,对内结构的灵活。行为型:处理对象之间的沟通,将对象变化的行为封装起来。设计模式的本质是:“找到变化,封装变化”创建型:负责提供创建对象的机制。原创 2023-07-08 16:45:08 · 535 阅读 · 0 评论 -
设计模式之代理模式
代理模式的定义是:为其他对象提供一种代理以控制对这个对象的访问。因为代理类与服务类实现同样的接口,所以代理类能代替服务类提供给客户端。当客户端使用代理类时,代理类能对请求进行处理(例如增加访问控制、缓存请求结果、隐藏对服务类的网络请求、日志记录等),并将请求转发给服务类来处理。原创 2023-06-04 20:58:08 · 616 阅读 · 0 评论 -
设计模式之状态模式
状态模式的定义是:当一个对象内在状态改变时允许其改变行为,这个对象看起来像是改变了自身所属的类。该模式适合于对象具有有限的状态,并且在状态之间相互切换。原创 2023-05-28 13:01:38 · 842 阅读 · 0 评论 -
设计模式之备忘录模式
备忘录模式的定义是:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。该模式允许生成对象状态的快照和将其还原,主要用于撤销与重做功能的实现。原创 2023-05-28 00:37:11 · 791 阅读 · 0 评论 -
设计模式之中介者模式
中介者模式的定义是:用一个中介对象封装一系列的对象交互,中介者使各对象不需要显式地相互作用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式适合于组件之间过于耦合而不方便修改的情况。因为中介者模式强制组件之间只通过中介者交互,而不是组件之间直接交互,避免组件之间相互依赖紧密耦合,方便于修改。类所拥有的依赖关系越少, 就越易于修改、 扩展或复用。原创 2023-05-21 14:59:34 · 344 阅读 · 0 评论 -
设计模式之责任链模式
责任链模式的定义是:使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。责任链模式适合于请求需要经过多个处理器,并被其中一个或多个处理器执行。原创 2023-05-21 14:24:48 · 272 阅读 · 0 评论 -
设计模式之访问者模式
访问者模式的定义:封装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。简单来说就是,就是将算法与其所作用的对象隔离开来,在不对原有类做出太多改动的情况下将新的行为封装到访问者中。在此模式中,不变的是原有类的结构,变的是功能。原创 2023-05-13 12:46:34 · 44 阅读 · 0 评论 -
设计模式之模板方法模式
模板方法的定义是:定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。简单来说,就是定义好一个算法的骨架,算法的具体实现由子类去实现。在这个算法中,不变的是算法的结构,变化的是算法的具体实现。原创 2023-05-13 10:28:20 · 51 阅读 · 0 评论 -
设计模式之迭代器模式
迭代器模式的定义:它提供一种方法访问一个容器对象中各个元素,而又不需暴露该对象的内部细节。原创 2023-05-07 12:51:34 · 46 阅读 · 0 评论 -
设计模式之策略模式
策略模式的定义是:定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。策略模式通过将不同的实现算法抽取到不同的策略类中,并定义一个通用的策略接口。在上下文类中会通过全局变量存储每个策略的引用,当客户端调用上下文方法时,上下文会将工作委派给实际上的策略去执行。原创 2023-05-07 11:18:23 · 44 阅读 · 0 评论 -
设计模式之享元模式
定义:使用共享对象可有效地支持大量的细粒度的对象。其实就是通过共享相同的对象来减少内存的使用。原创 2023-04-29 10:54:53 · 56 阅读 · 0 评论 -
设计模式之外观模式
定义:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。外观模式提供了一个高层次的接口,使得子系统更易于使用。简单来说就是外观模式能为程序库、 框架或其他复杂类提供一个简单的接口,客户端仅通过这个接口与子系统进行交互。原创 2023-04-29 10:17:19 · 39 阅读 · 0 评论 -
设计模式之组合模式
定义:将对象组合成树形结构以表示“部分 - 整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。组合模式适合于树形数据结构,使用时可以应用多态或者递归处理树形数据结构。原创 2023-04-22 12:15:53 · 54 阅读 · 0 评论 -
设计模式之装饰器模式
定义:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。本质上来说,是通过组合或聚合,将对象包含于装饰类里,从而增添新的行为。装饰类实现了与对象相同的接口。原创 2023-04-22 11:16:11 · 52 阅读 · 0 评论 -
设计模式之桥接模式
定义:将抽象和实现解耦,使得两者可以独立地变化。桥接模式可以将一系列密切关联的类拆分成抽象与实现两个独立的层次,以实现抽象与实现的解耦,抽象和实现可以独立变化,而不会相互影响。抽象与实现一般通过组合实现。原创 2023-04-16 17:50:33 · 38 阅读 · 0 评论 -
设计模式之适配器模式
定义:将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式能使得接口互不兼容的对象能相互合作。适合于希望使用某个类, 但是其接口与已有的代码不兼容的情况。原创 2023-04-16 14:25:20 · 45 阅读 · 0 评论 -
设计模式之观察者模式
定义:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。观察者模式允许你定义一种订阅机制, 可在对象事件发生时通知多个 “观察” 该对象的其他对象。原创 2023-04-16 12:03:53 · 39 阅读 · 0 评论 -
设计模式之命令模式
定义:将请求转换为一个包含与请求相关的所有信息的独立对象。该转换让你能根据不同的请求将方法参数化、 延迟请求执行或将其放入队列中。原创 2023-04-16 11:04:33 · 59 阅读 · 0 评论 -
设计模式之原型模式
原型模式将克隆过程委派给被克隆的实际对象。该模式为所有支持克隆的对象声明了一个通用接口, 该接口让你能够克隆对象, 同时又无需将代码和对象所属类耦合。原创 2023-04-16 10:25:25 · 38 阅读 · 0 评论 -
设计模式之构建器模式
定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。缺点:增加类的复杂度。原创 2023-04-09 22:05:22 · 87 阅读 · 0 评论 -
设计模式之单例模式
定义:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式能保证一个类只有一个实例。原创 2023-04-08 12:27:41 · 51 阅读 · 0 评论 -
设计模式之工厂模式
对象统一由工厂返回一个抽象接口。子类通过实现工厂的抽象接口,实现具体的代码逻辑。作用:将对象的创建和使用分离解耦。原创 2023-04-02 20:14:11 · 45 阅读 · 0 评论