设计模式
文章平均质量分 85
本专栏主要介绍了设计模式的Java实现
蛋蛋要学编程
这个作者很懒,什么都没留下…
展开
-
设计模式——模板方法模式
模板方法模式 1、定义 模板方法模式 在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 这个定义还是比较好理解的,由父类定义定义一个模板,这里的模板就是一个方法,它将算法定义成一组步骤,其中任何步骤都可以是抽象的,由子类负责实现。通过模板方法模式,可以确保算法的结构保持不变,同时由子类提供部分实现。下面我将通过具体实例来讲解...原创 2018-10-15 16:36:45 · 331 阅读 · 1 评论 -
设计模式——适配器模式和外观模式
适配器模式和外观模式 本文将分别介绍适配器模式和外观模式。 1、适配器模式 1.1、定义 适配器模式 将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。 适配器模式的定义非常易懂,就是将一个接口转换成另一个接口,这样一来就实现了接口的兼容。生活中我们有很多适配器的案例,例如我们请人从香港代购一个手机回来,因为香港使用的插头制式是英式插头,和内地的插座是不兼容的,那...原创 2018-09-20 20:07:20 · 408 阅读 · 0 评论 -
设计模式——命令模式
命令模式 1、定义 命令模式 将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 粗看这个定义有些拗口难懂,我们挑选几个点进行分析,首先命令模式是将请求封装成对象的,在之前的编码中我们要调用某个类的某个方法时是直接new一个对象然后调用这个对象的方法即可,使用了命令模式之后我们不再直接调用方法,而是通过将使用方法封装成对象,我们调用的是对...原创 2018-09-12 15:32:45 · 244 阅读 · 0 评论 -
设计模式——单例模式
单例模式 1、定义 单例模式 确保一个类只有一个实例,并提供一个全局访问点。 单例模式的定义很好理解,单例模式能够确保一个类在任何时候只有一个实例,并且由类自己管理这个单独的实例,避免其它类产生实例,如果需要访问这个实例,可以通过类提供的全局访问点获取。下面我们就介绍一下单例模式的几种实现方式。 2、单例模式的实现方式 2.1、一种线程不安全的实现方式 我们先来看一种实现方...原创 2018-07-06 10:33:12 · 339 阅读 · 0 评论 -
设计模式——工厂模式
工厂模式 在《Head First 设计模式》一书中,一共介绍了一种类似于工厂模式的编程习惯、两种工厂模式,在这篇文章中,我将对它们分别进行介绍,下面首先来看一下简单工厂。 1、简单工厂 按照惯例,我们应该先介绍一下简单工厂的定义,然后举例说明,这一次,我们不这样做,我们首先举例说明,然后再引出简单工厂的定义,后续两个工厂模式均按此方式进行叙述,从案例中理解模式的定义才能够更加印象深刻。...原创 2018-07-04 18:42:33 · 4744 阅读 · 0 评论 -
设计模式——装饰者模式
装饰者模式 1、定义 装饰者模式 动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 在学习装饰者模式之前,如果我们想要扩展一个类的功能,可以通过继承这个类然后扩展它的方法来实现,但是这种方式是静态的,也就是说我们要事先将要扩展的功能写入到继承的类中,我们无法在运行时动态地添加新的功能,而装饰者模式可以做到这一点,下面我们就通过一个案例来详细介绍一下装饰者模式...原创 2018-06-12 10:28:04 · 434 阅读 · 0 评论 -
设计模式——观察者模式
观察者模式 上一篇文章中我们介绍了策略模式,这一篇我们主要来介绍一下观察者模式。 1、定义 观察者模式 定义了对象之间一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 观察者模式的定义很好理解,定义了一对多的依赖,当一个对象发生改变时,依赖它的对象都能够收到通知并执行相应的更新操作,下面我们通过一个案例来详细讲解一下观察者模式。 2、观察者模式案...原创 2018-06-06 10:21:00 · 359 阅读 · 0 评论 -
设计模式——策略模式
策略模式 从今天开始介绍设计模式,其实我也是初学设计模式,主要参考书为《Head First 设计模式》,所以文中介绍的内容多引用此书,但我不会完全照搬书本中的案例,我会结合我日常生活中的实际使用情况,模仿书中的案例来介绍我自己的案例。当然,写文章的时候我也参考学习了网上很多的博客和资料,我会在文中一一注明出处,如您发现有侵权行为,请直接联系我。后续我还准备学习其他书籍,等学完之后我会再在此基础...原创 2018-06-04 10:12:05 · 354 阅读 · 0 评论