设计模式 —— 结构型模式

结构型模式(StructuralPattern)关注如何将现有类或对象组织在一起形成更加强大的结构 可分为两种: 类结构型模式:关心类的组合,由多个类可以组合成一个更大的系统,在类结构型模式中一般只存在继承关系和实现关系 对象结构型模式:关心类与对象的组合,通过关联关系使得在一个类中定义另一个类的实例对象,然后通过该对象调用其方法。更符合“合成复用原则” 1.适

  • 0
  • 0
  • 阅读 ( 1262 )

设计模式——模板方法模式

模板方法模式就是在父(基)类定义模板(流程),而具体的处理环节交给子类来实现
 
 
 /**
 *@authormaikec
 *@date2019/5/10
 */
 publicabstractclassAbstractDisplay{
 privatefinalIntegerPRINT_COUNT=5;
 /**
 *打开操作
 */
 protectedabstractvoidopen();

  • 0
  • 0
  • 阅读 ( 1292 )

设计模式之命令模式(三)

我回来啦!今天是周六,一看命令模式还有一个总结未完成,赶紧爬起来做做好。 就如上一篇所说的,如果拥有了一个遥控器,却无法光凭按下一个按你,就同时能弄暗灯光、打开音响和电视、设置到DVD,并让热水器开始加温,那么我要这个遥控器还有什么意义呢? 使用宏命令 根据比较高级的想法来看,就是我们需要制造一种新的命令,用来执行其他一堆命令,而不只是执

  • 0
  • 0
  • 阅读 ( 989 )

设计模式:面向对象设计的六大原则 (绝对详细)

目录 前言 六大原则单一职责原则 开闭原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特原则 总结 前言 很久没有写博客了,一直给自己找借口说太忙了,过几天有空再写,几天之后又几天,时间就这么快速的消逝。说到底就是自己太懒了,不下点决心真是不行。我决定逼自己一把,从今天开始学习设计模式系列,并写成博文记录下来,做不到的话,就罚自己一个月不

  • 0
  • 0
  • 阅读 ( 1180 )

设计模式--Proxy模式

这篇主要介绍代理模式相关内容,主要是一些基本概念普及。 代理模式 1、什么是代理模式? 代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。[DP] 通俗的说就是指客户端并不直接调用实际的对象,而是通过代理对象,来间接调用实际的对象。 2、实现原理 Subject:可以是接口,也可以是抽象类Proxy:内部含有对真实对象RealSubject的引用,负责对真实主题角色

  • 0
  • 0
  • 阅读 ( 1447 )

设计模式之适配器模式与外观模式(一)

学习技术的过程总是需要慢慢积累的,所以持续学习是一个一直存在的事情。很高兴,我能一直通过看书输出设计模式相关的系列,也很感谢各位朋友的持续关注。 废话不多说啦,今天我们继续学习一个对于Android开发来说可能不太陌生的模式,适配器模式和外观模式。曾经或者现在正在做Android开发的你,是不是很熟悉这个呢?对的,Android里很多控件,可都是需要适配器来处

  • 0
  • 0
  • 阅读 ( 1266 )

设计模式——抽象工厂模式

抽象工厂方法_将关联组件组装成产品
 
  
 
 **
 *印刷抽象工厂类
 *@authormaikec
 *2019/5/20
 */
 publicabstractclassAbstractPrintingFactory{
 privatestaticAbstractPrintingFactoryourInstance;
 
 /**
 *获取工厂实例
 *@paramclassName

  • 0
  • 0
  • 阅读 ( 1082 )

简说设计模式——代理模式(续)

  之前说了代理模式,即为其他对象提供一种代理以控制对这个对象的访问,详情见《简说设计模式——代理模式》,而代理模式常见的实现方式为静态代理及动态代理。
 一、静态代理
   所谓静态代理类是指:由程序员创建或由特定工具自动生成源代码,再对其进行编译。在程序运行之前,代理类的.class文件就已经存在了。UML结构图如下:
 
   这里以持

  • 0
  • 0
  • 阅读 ( 1254 )

设计模式-模板方法模式

模板方法模式
 定义
 模板方法模式(TemplateMethod),定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。[DP]
  
 优缺点
  
 优点:
 代码复用
 子类的返回值决定父类的行为
 缺点:
  
  
 特点
 父类将子类中重复的代码抽到一个公用方法当中
 可

  • 0
  • 0
  • 阅读 ( 1243 )

简说设计模式——观察者模式

一、什么是观察者模式
   观察者一般可以看做是第三者,比如在学校上自习的时候,大家肯定都有过交头接耳、各种玩耍的经历,这时总会有一个“放风”的小伙伴,当老师即将出现时及时“通知”大家老师来了。再比如,拍卖会的时候,大家相互叫价,拍卖师会观察最高标价,然后通知给其它竞价者竞价,这就是一个观察者模式。
   对于观察者模式而言,肯定

  • 0
  • 0
  • 阅读 ( 1455 )

设计模式:单例模式 (关于饿汉式和懒汉式)

定义 单例模式是比较常见的一种设计模式,目的是保证一个类只能有一个实例,而且自行实例化并向整个系统提供这个实例,避免频繁创建对象,节约内存。 单例模式的应用场景很多, 比如我们电脑的操作系统的回收站就是一个很好的单例模式应用,电脑上的文件、视频、音乐等被删除后都会进入到回收站中;还有计算机中的打印机也是采用单例模式设计的,一个系统中可

  • 0
  • 0
  • 阅读 ( 1336 )

简说设计模式——模板方法模式

一、什么是模板方法模式
   所谓模板方法模式,其实很简单,可以从模板的角度考虑,就是一个对模板的应用,就好比老师出试卷,每个人的试卷都是一样的,即都是从老师的原版试卷复印来的,这个原版试卷就是一个模板,可每个人写在试卷上的答案都是不一样的,这就是模板方法模式,是不是很好理解。它的主要用途在于将不变的行为从子类搬到超类,去除了子类

  • 0
  • 0
  • 阅读 ( 1262 )

设计模式之适配器模式与外观模式(二)

好了,通过上次的学习,我们已经知道适配器模式是如何将一个类的接口转换成另一个符合客户期望的接口。同时也知道在Java中要做到这一点,必须将一个不兼容接口的对象包装起来,变成兼容的对象。 我们现在要看一个改变接口的新模式,但是它改变接口的原因是为了简化接口。这个模式被巧妙地命名为外观模式(Facade-Pattern),之所以这么称呼,是因为它将一个或数个类

  • 0
  • 0
  • 阅读 ( 1209 )

简说设计模式——命令模式

一、什么是命令模式
   在说命令模式前我们先来说一个小例子。很多人都有吃夜市的经历,对于那些推小车的摊位,通常只有老板一个人,既负责制作也负责收钱,我要两串烤串多放辣,旁边的人要了三串烤面筋不要辣,过了一会儿又来人要烤蔬菜……,当人多的时候记忆力不好的老板肯定就不知道谁要的啥、交没交钱了;而去有店铺的烤肉摊,点单的时候会有服务员

  • 0
  • 0
  • 阅读 ( 1376 )

简说设计模式——状态模式

一、什么是状态模式
   状态这个词汇我们并不陌生,在日常生活中,不同时间就有不同的状态,早上起来精神饱满,中文想睡觉,下午又渐渐恢复,晚上可能精神更旺也可能耗费体力只想睡觉,这一天中就对应着不同的状态。或者对软件开发人员更形象的描述可能是UML的状态图(即用于描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不

  • 0
  • 0
  • 阅读 ( 1375 )

设计模式之代理模式(一)

一、什么是代理模式
 定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。
 组成:
 抽象角色(主题):通过接口或抽象类声明真实角色实现的业务方法。
 代理角色(代

  • 0
  • 0
  • 阅读 ( 1363 )

设计模式-外观模式模式

外观模式(结构型模式)
 定义
 外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易试用。[DP]
  
 外观模式简单点说,就是通过外观类把所有的子系统类进行组合,供外部调用。
 这样既不暴露内部,也降低了耦合。对照下面这张图能很好的理解外观模式(MVC三层架构就使用到了外观

  • 0
  • 0
  • 阅读 ( 1138 )

简说设计模式——职责链模式

一、什么是职责链模式
   从文字角度出发,我们可以先将关注点放在“链”字上,很容易联想到链式结构,举个生活中常见的例子,击鼓传花游戏就是一个很典型的链式结构,所有人形成一条链,相互传递。而从另一个角度说,职责链就是所谓的多级结构,比如去医院开具病假条,普通医生只能开一天的证明,如果需要更多时常,则需将开具职责转交到上级去,上级医

  • 0
  • 0
  • 阅读 ( 1187 )

设计模式-建造者模式

建造者模式(创建型模式)
 定义
 建造者模式(Builder),将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。[DP]
  
 自己的理解:建造者模式是把复杂得对象的构建分离出来,然后调用者不用知道对象的构建细节,只需要指定类型,就可以得到构建好的对象,且对象完整。
  
 特点
 具体产品构建出来的顺序不变
 指挥

  • 0
  • 0
  • 阅读 ( 1210 )

简说设计模式——解释器模式

一、什么是解释器模式
   解释器这个名词想必大家都不会陌生,比如编译原理中,一个算术表达式通过词法分析器形成词法单元,而后这些词法单元再通过语法分析器构建语法分析树,最终形成一颗抽象的语法分析树。诸如此类的例子也有很多,比如编译器、正则表达式等等。
   如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表

  • 0
  • 0
  • 阅读 ( 1496 )