随笔分类 -  设计模式

摘要:命令模式,主要用来封装调用。让命令的发起者(client) 和命令的接收者(receiver)解耦。发起者只需要发起一个命令,并不需要去具体关心命令如何去执行,等等具体的细节。而命令接收者,只需要收到命令,然后去完成命令。 模拟一个客户去餐馆点一碗炸酱面的场景, 命令模式扩展性很强,服务员可以接收所 阅读全文
posted @ 2017-03-17 15:44 江湖小_虾 阅读(120) 评论(0) 推荐(0)
摘要:确保一个类只有一个实例,并提供一个全局访问点。 那么怎样保证一个类只有一个实例呢? 就要保证这个类不能被实例化,否则随便在类的外面new对象就不能保证唯一性了。因此单例模式第一件要做的事情就是 构造方法私有化之后,就要提供一个只能存在一个的实例,返回这个单例对象 这样乍一看好像已经达到了一个单例的效 阅读全文
posted @ 2017-03-16 11:06 江湖小_虾 阅读(123) 评论(0) 推荐(0)
摘要:对于装饰者模式,很好的体现了设计原则的封闭开放性原则,当需要对新需求进行实现的时候,不需要对于现在的代码进行更改,就可以达到需求。 装饰者顾名思义,就是对于原有的对象进行一系列的修饰。 以java.io库中的一个小例子理解: 这里用LowerCaseInputStream这个自定义类,对于io库中的 阅读全文
posted @ 2017-03-14 17:02 江湖小_虾
摘要:从一个鸭子类切入。一个鸭子对象可以拥有下列行为 叫 飞 外形 游泳 一系列的行为,如果只是单纯的创建一个父类,父类中实现上述的四个方法,让所有的子类鸭去实现,当需要改变需求的时候,对于代码的改动就比较大(不是所有的鸭子都会飞,都会叫等等),复用性比较差。 这里涉及到了几个设计原则 找出应用中可能变化 阅读全文
posted @ 2017-03-14 15:09 江湖小_虾
摘要:观察者模式分为两块 消息中心 订阅者 大体模式为,订阅者在消息中心订阅自己喜欢的主题。当订阅的主题发生变化时,消息中心会推送相应的更新消息到订阅者手中。这里消息中心中可以有很多主题。这边只拿一个主题来举例。 主题接口中,提供方法供给订阅者订阅主题,和取消订阅主题、以及一个通知所有订阅者的通知方法 而 阅读全文
posted @ 2017-03-14 13:41 江湖小_虾