随笔分类 -  设计模式

摘要:模板模式就是在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。模板方法在很多地方都是十分常见的,尤其是我们重新实现很多框架的实现的时,很多时候,我们重新实现都是基于模板方法的。以下为模板方法的一个例子:CaffeineB... 阅读全文
posted @ 2015-08-28 21:23 ICE_XUE 阅读(166) 评论(0) 推荐(0)
摘要:外观模式就是把很多要做的操作一起封装起来,装建一个接口来进行调用,当然只是进行封装,如果你需要自己去进行特殊处理的话,你依然可以调用底部接口。好像这个也是比较简单的,直接上类图吧,代码有点多,其实可以简化,但是懒得去干了。 阅读全文
posted @ 2015-08-28 10:30 ICE_XUE 阅读(99) 评论(0) 推荐(0)
摘要:适配器模式就是把原有的接口变成需要的的接口的样子,简单地说就是根据要求转换接口。这个模式比较简单,贴个把Enumeration 转成 Iterator的例子:public class EnumerationIterator implements Iterator { Enumeration e... 阅读全文
posted @ 2015-08-24 17:52 ICE_XUE 阅读(158) 评论(0) 推荐(0)
摘要:例行公事:是什么、有什么用、怎么用1、是什么命令模式(看图说话),有一个实体,有一个些行为(Receiver),通过一个命令接口来执行(Command),调用者(Invoker)只是调用命令接口的执行方法(execute),客户端(Client)则负责创建拼凑执行这些命令。2、有什么用在软件系统中,... 阅读全文
posted @ 2015-08-19 09:56 ICE_XUE 阅读(155) 评论(0) 推荐(0)
摘要:有人说叫单例模式,可是这有什么关系呢,叫什么都可以。好了进入正题,这个非常简单,就是把构造函数私有化,然后通过一个静态方法获得对象实例(这年头对象真不好找,都是私有化的)有一个问题就是可能会多线程的时候,导致实例化多次,解决这个问题的方法有三种:1、同步方法,简单快捷,但是性能较差:public c... 阅读全文
posted @ 2015-08-18 16:57 ICE_XUE 阅读(166) 评论(0) 推荐(0)
摘要:1、工厂模式一共有三种: 第一种是简单工厂模式 第二种是工厂方法模式 第三种是抽象工厂模式2、说明 工厂模式: 一般通过静态方法调用,返回一个实例对象。扩展只能通过修改代码。 工厂方法模式: 工厂是抽象的,可以增加好多个工厂,但每个工厂只生产一个产品。可以随时添加产品。 抽象工厂模式... 阅读全文
posted @ 2015-08-17 21:24 ICE_XUE 阅读(130) 评论(0) 推荐(0)
摘要:装饰者模式就是建立一个装饰者,然后把被装饰者传进去,出来就已经装饰上了。比如我传一个房子进去,出来的时候房子就种上了一朵花,这是一个种花的装饰者;我再传进另一个装饰者,出来就把墙刷了,这是一个刷墙的装饰者。现在我们我们的被装装饰者是咖啡,很多各类的咖啡,所以需要一个超类。装饰者是很多的调料。以下是代... 阅读全文
posted @ 2015-04-07 00:32 ICE_XUE 阅读(126) 评论(0) 推荐(0)
摘要:观察者模式就是:1、所有的观察者需要被通知,实现了一个接口,供主题调用2、所有的主题都有一个观察者列表,主题通过调用观察者实现的接口通知观察者。代码结构(inside代表使用java.util, self使用自定义的接口):interface DisplayElement:public interf... 阅读全文
posted @ 2015-03-28 08:42 ICE_XUE 阅读(172) 评论(0) 推荐(0)