随笔分类 -  设计模式

1
摘要:一、什么是迭代器模式(IteratorPattern) 提供—种方法顺序访问一个聚合对象中各个元素,而又无须暴露该对象的内部实现,属于行为型模式。 应用场景: —般来说,迭代器模式是与集合是共存的,只要实现一个集合,就需要同时提供这个集合的迭代器,就像java中的Collection,List、Se 阅读全文
posted @ 2023-03-22 23:45 冰融心 阅读(74) 评论(0) 推荐(0)
摘要:一、什么是命令设计模式 请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的对象,并把该命令传给相应的对象执行命令,属于行为型模式。 命令模式是一种特殊的策略模式,体现的是多个策略执行的问题,而不是选择的问题。 应⽤场景: 只要是你认为是命令的地方,就可以采用命令模式。 日常每 阅读全文
posted @ 2023-03-17 11:12 冰融心 阅读(135) 评论(0) 推荐(0)
摘要:一、什么是责任链模式模式(Chain of Responsibility) 客户端发出一个请求,链上的对象都有机会来处理这一请求,而客户端不需要知道谁是具体的处理对象。 让多个对象都有机会处理请求,避免请求的发送者和接收者之间的耦合关系,将这个对象连成一条调用链,并沿着这条链传递该请求,直到有一个对 阅读全文
posted @ 2023-03-16 20:20 冰融心 阅读(309) 评论(0) 推荐(0)
摘要:一、什么是状态模式(State Pattern) 对象的⾏为依赖于它的状态(属性),并且可以根据它的状态改变⽽改变它的相关⾏为 ,属于⾏为型模式 允许⼀个对象在其内部状态改变时改变它的⾏为 状态模式是策略模式的孪⽣兄弟,它们的UML图是⼀样的,但实际上解决的是不同情况的两种场景问题 ⼯作中⽤的不多, 阅读全文
posted @ 2023-01-17 14:31 冰融心 阅读(75) 评论(0) 推荐(0)
摘要:一、什么是备忘录模式(Memento Pattern) 定义: 在不破坏封闭的前提下,捕获⼀个对象的内部状态,保存对象的某个状态,以便在适当的时候恢复对象,⼜叫做快照模式,属于⾏为模式。 备忘录模式实现的⽅式需要保证被保存的对象状态不能被对象从外部访问。 应⽤场景: 玩游戏的时候肯定有存档功能,下⼀ 阅读全文
posted @ 2023-01-17 11:38 冰融心 阅读(78) 评论(0) 推荐(0)
摘要:一、什么是观察者模式 定义对象间⼀种⼀对多的依赖关系,使得每当⼀个对象改变状态,则所有依赖于它的对象都会得到通知并⾃动更新,也叫做发布订阅模式Publish/Subscribe,属于⾏为型模式 二、观察者模式的实现方式 模式结构分析: Subject主题:持有多个观察者对象的引⽤,抽象主题提供了⼀个 阅读全文
posted @ 2023-01-16 21:51 冰融心 阅读(39) 评论(0) 推荐(0)
摘要:一、什么是模板模式 定义⼀个操作中的算法⻣架,将算法的⼀些步骤延迟到⼦类中,使得⼦类可以不改变该算法结构的情况下重定义该算法的某些特定步骤,属于⾏为型模式 二、模板模式的实现方式 模式结构分析: 抽象模板(Abstract Template):定义一个模板方法,这个模板方法一般是一个具体方法,给出一 阅读全文
posted @ 2023-01-16 21:10 冰融心 阅读(51) 评论(0) 推荐(0)
摘要:一、什么是策略模式 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。 淘宝天猫双十一,正在搞活动有打折的、有满 阅读全文
posted @ 2023-01-16 20:24 冰融心 阅读(55) 评论(0) 推荐(0)
摘要:一、什么是享元模式 Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是因为这样更能反映模式的用意。享元模式是对象的结构模式。享元模式以共享的方式高效地支持大量的细粒度对象。 属于结构型模式,主要用于减少创建对象的数量,以减少内存占用和提高性能,它提 阅读全文
posted @ 2023-01-15 15:10 冰融心 阅读(58) 评论(0) 推荐(0)
摘要:一、什么是外观(门面)模式 外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。 二、外观(门面)模式的 阅读全文
posted @ 2023-01-12 15:35 冰融心 阅读(54) 评论(0) 推荐(0)
摘要:一、什么是代理模式 简介:代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。 为其他对象提供—种代理以控制对这个对象的访问,属于结构型模式。 客户端并不直接调用实际的对象,而是通过调用代理,来间接的调用实际的对象 应⽤场景: 各大数码专营店,代理厂商进行 阅读全文
posted @ 2023-01-08 23:40 冰融心 阅读(40) 评论(0) 推荐(0)
摘要:一、什么是装饰器模式 简介: 也叫包装设计模式,属于结构型模式,它是作为现有的类的一个包装,允许向一个现有的对象添加新的功能,同时又不改变其结构。 给对象增加功能,一般两种方式继承或关联组合,将一个类的对象嵌入另一个对象中,由另一个对象来决定是否调用嵌入对象的行为来增强功能,这个就是装饰器模式,比继 阅读全文
posted @ 2023-01-08 19:49 冰融心 阅读(46) 评论(0) 推荐(0)
摘要:一、什么是组合模式 简介: 组合模式(Composite Pattern),又叫部分整体模式,它创建了对象组的树形结构。将对象组合成树状结构以表示“整体-部分”的层次关系。 组合模式依据树形结构来组合对象,用来表示部分以及整体层次。 组合模式属于结构型模式。 组合模式使得用户对单个对象和组合对象的访 阅读全文
posted @ 2023-01-08 16:53 冰融心 阅读(105) 评论(0) 推荐(0)
摘要:一、什么是桥接模式模式 桥梁模式的用意是“将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化” 应用场景 系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性 不想使用继承导致系统类的个数急剧增加的系统 有时候一个类,可能会拥有多个变化维度, 阅读全文
posted @ 2023-01-08 15:20 冰融心 阅读(59) 评论(0) 推荐(0)
摘要:一、什么是适配器模式(Adapter Pattern) 作为两个不兼容的接口之间的桥梁,适配器模式使得原本由于接口不兼容而不能一起工作的两个类可以一起工作。 适配器模式包括3种形式: 类适配器模式 想将一个类转换成满足另一个新接口的类时,可以使用类的适配器模式,创建一个新类,继承原有的类,实现新的接 阅读全文
posted @ 2023-01-08 14:18 冰融心 阅读(43) 评论(0) 推荐(0)
摘要:一、什么是原型模式 是⼀种对象创建型模式,使⽤原型实例指定创建对象的种类,并且通过拷⻉这些原型创建新的对象,主要⽤于创建重复的对象,同时⼜能保证性能 ⼯作原理是将⼀个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷⻉⾃⼰来实现创建过程 应该是最简单的设计模式了,实现⼀个接⼝, 阅读全文
posted @ 2022-12-06 23:37 冰融心 阅读(33) 评论(0) 推荐(0)
摘要:一、什么是建造者模式 使⽤多个简单的对象⼀步⼀步构建成⼀个复杂的对象,将⼀个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 允许⽤户只通过指定复杂对象的类型和内容就可以构建它们,不需要知道内部的具体构建细节。 二、建造者的实现方式 模式结构分析: Product(具体产品类): 阅读全文
posted @ 2022-12-06 22:01 冰融心 阅读(53) 评论(0) 推荐(0)
摘要:一、什么是工厂模式 1.1⼯⼚模式有 3 种不同的实现⽅式: 简单⼯⼚模式(没有在23种设计模式中):通过传⼊相关的类型来返回相应的类,这种⽅式⽐较单 ⼀,可扩展性相对较差; ⼯⼚⽅法模式:通过实现类实现相应的⽅法来决定相应的返回结果,这种⽅式的可扩展性⽐较强; 抽象⼯⼚模式:基于上述两种模式的拓展 阅读全文
posted @ 2022-12-05 14:58 冰融心 阅读(44) 评论(0) 推荐(0)
摘要:参考:https://blog.csdn.net/liu_da_da/article/details/125425561 一、什么是单例模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 二、单例的几种实现方式 1.饿汉模式 饿汉式,就是“比较饿”,实例在初始化的时候就要创建好,不管你有没 阅读全文
posted @ 2022-11-28 00:18 冰融心 阅读(51) 评论(0) 推荐(0)
摘要:参考:https://baijiahao.baidu.com/s?id=1661505290125455712&wfr=spider&for=pc 概述: 设计模式一般是描述如何组织代码和使用最佳实践来解决常见的设计问题。设计模式是高层次的方案,与具体实现细节无关(如算法,数据结构,网页等)。设计模 阅读全文
posted @ 2022-11-27 21:03 冰融心 阅读(55) 评论(0) 推荐(0)

1