摘要:今天我们来学习下模板方法设计模式。 模板方法(Template Method Pattern):抽象的父类中定义一个操作中算法的骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。简单地讲,就是“父类的模板方法定义不变的流程,子类重写流程中的方法”。
阅读全文
|
随笔分类 - 设计模式
摘要:今天我们来学习下模板方法设计模式。 模板方法(Template Method Pattern):抽象的父类中定义一个操作中算法的骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。简单地讲,就是“父类的模板方法定义不变的流程,子类重写流程中的方法”。
阅读全文
摘要:外观模式(facadePattern)又叫门面模式,隐藏了子系统的复杂实现,为子系统中的一组接口提供了一个统一的访问入口,使得子系统容易被访问或使用,说白了就是把复杂的子系统封装成一个接口供给外部用户更简单地使用,这也是一种结构型设计模式。 模式结构图: 此模式中涉及的三种角色: 1、门面角色(Fa
阅读全文
摘要:继续把我们的设计模式捡起,希望我能坚持完这个系列吧,下面我们就进入正题吧。 在软件开发过程中,我们需要重复使用某个对象的时候,如果重复地new这个对象,不停地申请内存空间,会造成内存空间的极大浪费,在之后程序运行过程中也可能会产生大量的垃圾对象,给服务器的垃圾回收带来极大压力,那么我们从软件设计的角
阅读全文
摘要:Hello,大家好,我们的设计模式系列中断了几天,今天我们继续,那么我们下面继续来说一种结构型设计模式,那就是大名鼎鼎的“桥接模式”。 定义:桥接模式的官方定义是将抽象部分与它的实现部分分离,使得他们都可以独立变化,是一种结构型对象设计模式;上面这个定义比较拗口,且晦涩难懂,那么我们举个实际生活中的
阅读全文
摘要:定义:适配器模式是将一个类的接口转换成客户希望的另一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的类可以一起工作,在软件设计中我们需要将一些“现存的对象”放到新的环境中,而新环境要求的接口是现对象所不能满足的,我们可以使用这种模式进行接口适配转换,使得“老对象”符合新环境的要求。 使用场景
阅读全文
摘要:定义:为某个对象提供一个代理,以达到对这个对象的访问控制,代理类和委托类有共同的父类或者父接口,这样可以在使用委托类的地方都可以使用代理对象来替换(这符合程序设计中的“里氏替换原则”),代理类负责请求的预处理、过滤等初步处理之后,再将请求分派给委托类进行处理,代理类当然也可以在委托类执行完毕之后做一
阅读全文
摘要:定义:装饰设计模式允许向一个现有的对象添加功能,而不改变其结构(这就很符合程序设计的“开闭原则”),重点突出类功能的增强,属于结构型创建模式,这种模式创建了一个装饰类,用来包装原有类,保持类方法签名完整的情况下,提供了额外的功能。 意图:动态地给一个对象增加一些额外的职责,装饰是比子类更为灵活和优秀
阅读全文
摘要:定义:建造者模式也称为生成器模式,将一个个简单对象一步步构造成一个复杂的对象,将复杂对象的构建和它的表示分离,使得同样的构建过程有不同的表示; 主要解决:系统中复杂对象的创建过程,通常由各个部分的子对象采用一定的算法构成;由于需求的变化 ,这个复杂对象的各个部分通常面临着剧烈的变化,但是将他们组合在
阅读全文
摘要:上篇文章中我们提到单例模式可以避免重复创建消耗资源的对象,但是却不得不共用对象。若是对象本身也不让随意访问修改时,怎么办?那么我们就可以采用原型模式来创建新的实例。 定义:原型模式用来创建重复对象,当直接创建对象的代价比较大的时候可以采用这种模式,这种模式实现了一个原型接口,这个接口用于创建当前对象
阅读全文
摘要:本博客用于技术学习,所有资源都来源于网络,部分是转发,部分是个人总结。欢迎共同学习和转载,转载请在醒目位置标明原文。如有侵权,请留言告知,及时撤除。
阅读全文
摘要:定义:抽象工厂模式简单地讲,就是提供一个超级工厂,围绕这个超级工厂创建其他工厂;抽象工厂模式提供一个创建一些列相关或者相互依赖对象的接口; 在此之前我们先来讲一下产品等级和产品族的概念; 相同的产品等级就是相同的同一类的产品,比如美的冰箱、格力冰箱、海尔冰箱,他们的产品等级都相同,虽然厂家不同(属于
阅读全文
摘要:定义:工厂方法模式又称为工厂模式、多态工厂模式和虚拟构造器模式,通过定义工厂父类来定义创建对象的接口,而子类负责生成具体的对象; 主要作用:将类的实例化延迟到工厂类的子类中进行,由子类来决定该实例化哪一个类; 解决的问题:上篇简单工厂设计模式中我们提到,工厂一旦需要生产新产品就需要修改简单工厂类的方
阅读全文
摘要:写在前面:程序设计中常见的设计模式有23种,大致可以分为:创建型模式、结构型模式、行为型模式,见下图; 创建型模式:主要用于对象的创建; 结构型模式:用于处理类或者对象的组合; 行为型模式:用于描述类或对象怎样交互和分配职责; ————————————————————————————————————
阅读全文
|