设计模式
文章平均质量分 66
冰鑫999
这个作者很懒,什么都没留下…
展开
-
迭代器模式
迭代器模式又叫游标模式,它提供一种按顺序访问集合/容器的方法,无需报漏内部集合表示。属于行为型结构模式。原创 2022-08-04 11:30:27 · 92 阅读 · 0 评论 -
设计模式之解释模式
给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器使用该标识来解释语言中的句子。在解释器模式中,我们需要将待解决的问题,提取出规则,抽象为一种“语言”。比如加减法运算,规则为:由数值和±符号组成的合法序列,“1+3-2” 就是这种语言的句子。解释器就是要解析出来语句的含义。但是如何描述规则呢?......转载 2022-08-04 09:51:09 · 139 阅读 · 0 评论 -
外观模式(Facade)
当一个系统的功能越来越强,子系统会越来越多,客户对系统的访问也变得越来越复杂。这时如果系统内部发生改变,客户端也要跟着改变,这违背了“开闭原则”,也违背了“迪米特法则”,所以有必要为多个子系统提供一个统一的接口,从而降低系统的耦合度,这就是外观模式的目标。外观(Facade)模式是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。...原创 2022-08-03 10:50:53 · 142 阅读 · 0 评论 -
享元模式(Flyweight )
qquad享元模式是一个考虑系统性能的设计模式,通过使用享元模式可以节约内存空间,提高系统的性能。享元模式的核心在于享元工厂类,享元工厂类的作用在于提供一个用于存储享元对象的享元池,用户需要对象时,首先从享元池中获取,如果享 元池中不存在,则创建一个新的享元对象返回给用户,并在享元池中保存该新增对象。...转载 2022-08-03 09:54:11 · 162 阅读 · 0 评论 -
状态模式(State)
所谓平行性指的是各个状态的行为所处的层次是一样的,相互独立的、没有关联的,是根据不同的状态来决定到底走平行线的哪一条。在具体的状态处理类中经常需要获取环境(Context)自身的数据,甚至在必要的时候会回调环境(Context)的方法,因此,通常将环境(Context)自身当作一个参数传递给具体的状态处理类。在状态模式中,环境(Context)是持有状态的对象,但是环境(Context)自身并不处理跟状态相关的行为,而是把处理状态的功能委托给了状态对应的状态处理类来处理。具体状态类——正常投票。......转载 2022-08-02 17:49:00 · 228 阅读 · 0 评论 -
适配器模式(Adapter Pattern)
适配器模式(AdapterPattern)又叫做变压器模式,是指将一个类的接口转换成客户期望的另一个接口,使原本的接口不兼容的类可以一起工作,属于结构型设计模式。根据适配器类与适配者类的关系不同,适配器模式可分为对象适配器和类适配器两种,在对象适配器模式中,适配器与适配者之间是关联关系;在类适配器模式中,适配器与适配者之间是继承(或实现)关系。生活中有非常多的应用场景,例如手机充电转换头、显示器转接头、网口转接头等。场景1、已经存在的类,它的方法和需求不匹配(方法结果相同或相似)的情况。...原创 2022-08-02 14:54:26 · 94 阅读 · 0 评论 -
模板模式(Template)
我们平时去银行办理业务,一般经历预约–>扫码–>现场拿号–>排队–>办理业务–>评价这些步骤。找工作的时候一般会经历,投简历–>面试–>发offer–>上班这些过程。平时在家里炒菜时洗菜–>洗锅–>点火–>上油–>放菜–>翻炒–>放盐–>出锅等过程,这些都是模板模式的体现。模板模式通用又叫模板方法模式(TemplateMethodPattern),是指定义一个算法的骨架,并允许子类为一个或者多个步骤提供实现。...原创 2022-08-02 11:55:25 · 261 阅读 · 0 评论 -
策略模式(strategy)
策略这个词应该怎么理解,打个比方说,我们出门的时候会选择不同的出行方式,比如骑自行车、坐公交、坐火车、坐飞机、坐火箭等等,这些出行方式,每一种都是一个策略。再比如我们去逛商场,商场现在正在搞活动,有打折的、有满减的、有返利的等等,其实不管商场如何进行促销,说到底都是一些算法,这些算法本身只是一种策略,并且这些算法是随时都可能互相替换的,比如针对同一件商品,今天打八折、明天满100减30,这些策略间是可以互换的。有很多时候我们会使用if else 来解决这个问题这种 if-else 或者 switch-ca原创 2022-07-13 10:41:25 · 199 阅读 · 0 评论 -
装饰者模式(Decorator Pattern)
装饰者模式(Decorator Pattern)是指在不改变原有对象的基础之上,将功能附加到对 象上,提供了比继承更有弹性的替代方案(扩展原有对象的功能),属于结构型模式。 装饰者模式在我们生活中应用也比较多如给煎饼加鸡蛋;给蛋糕加上一些水果;给房子 装修等,为对象扩展一些额外的职责。装饰者在代码程序中适用于以下场景1、用于扩展一个类的功能或给一个类添加附加职责。2、动态的给一个对象添加功能,这些功能可以再动态的撤销。有很多小伙伴爱喝奶茶,奶茶也有很多种口味,比如椰肉、珍珠、红豆等,我们就奶茶的这个场景原创 2022-07-12 18:01:13 · 727 阅读 · 0 评论 -
单例模式(Singleton)
饿汉式单例是在类加载的时候就立即初始化,并且创建单例对象。绝对线程安全,在线程还没出现以前就是实例化了,不可能存在访问安全问题。原创 2022-07-11 23:04:35 · 94 阅读 · 0 评论