
设计模式
文章平均质量分 83
月光轩辕-
Keep moving
展开
-
设计模式--代理模式
代理模式:封装对对象的访问 主要分为3类 远程代理: 例如java rmi 虚拟代理:例如图片缓冲技术 保护代理:实现对象访问控制demo分析原创 2015-02-28 23:13:57 · 595 阅读 · 0 评论 -
设计模式--迭代器模式与组合方法模式
迭代器模式是将对对象的遍历封装成迭代器,对外部隐藏对象遍历的具体实现。而组合方法是实现对处于不同层次的同种对象提供一致性的遍历方法。首先我们开始讨论迭代器模式。我们在实践过程中可以遇到这样的情况,我们需要对用array,ArrayList,Stack 等模式包装的一组对象进行遍历public class Item{ .........}public c原创 2015-02-15 19:29:15 · 1691 阅读 · 0 评论 -
设计模式--模板方法模式
模板方法模式的核心是预先定义好过程,而将过程的实现推迟到子类举个超市购物的例子public abstract class Shopping{ public void doShopping(){ pickup(); pay(); } public abstract void pickup(); public abstract voi原创 2015-02-15 19:12:07 · 487 阅读 · 0 评论 -
设计模式--适配器模式与外观模式
2015年1月31日21:00:07说实话我觉得适配器模式和外观模式就是一个意思,区别就在于使用初衷。另外适配器模式和装饰者模式很像,根据需要自己选择使用那一种。适配器模式的本质是对被适配的一个或者多个类进行包装以提供一个目标格式的接口,对于调用者来说,被适配者的调用过程是透明的。public class demo{ public static void main(Strin原创 2015-01-31 21:00:25 · 602 阅读 · 0 评论 -
设计模式--命令模式
命令模式的核心是将对资源的调用封装成标准的命令格式,然后交给调用者调用刚开始看命令模式的时候我被上面的类图关系迷惑了,我在想这样不是把程序的整体的耦合度加大么?事实的确如此,但是该模式的关键不是在于降低程序的耦合度,而是在于把程序与资源的解耦, 举个例子,程序要调用打印机,那么程序需要做到的就是创建打印机对象,然后打印机对象初始化,传送文件给打印机,打印机打印,这样打印机类原创 2015-01-30 00:04:25 · 549 阅读 · 0 评论 -
设计模式--单件模式
2015年1月29日16:02:59单件模式是用来保证共有资源唯一性的设计模式,举个例子吧,假如我们是艺人,我们在同一个经纪人的协助下开展工作,我们可以委托这个经纪人做一些事情,但是我们不能委托经纪人在帮你做报表的同时帮我订外卖。用程序猿的语言来表达就是,我们可能在多处地方持有对同一资源的引用。由于资源一半都是用类来封装,比如打印机,我们通过打印机驱动的类来使用打印机资源,所以我们的问题转化为原创 2015-01-29 16:03:46 · 631 阅读 · 0 评论 -
设计模式--工厂模式
2015年1月25日00:18:40之前在看JEE的时候就有遇到了工厂模式,不过没有像现在在head first上看到的这么全面,这里我就照着目前的理解来阐述一下工厂模式工厂模式的核心是把对象的生成与对象的使用隔离出来,这样的隔离存在几个原因,1对象的生成需要初始化一些条件,如初始化一些参数等,2对象的生成容易发生变化,如我们声明一个coffee对象,初始的时候我们要的是卡布奇原创 2015-01-25 00:18:01 · 613 阅读 · 0 评论 -
设计模式--装饰者模式
装饰者模式的核心是定义一个可以互相嵌套的装饰这类来解决嵌套问题。这个模式 我还没有完全理解,我就直接照搬head first书上的例子:我们在星巴克点饮料的时候 我们可能添加各种各样的调味料。如果我们不加修改 我们可能得到上面的一个基类,但是存在很多问题,1对于一个杯茶 可能不能加牛奶,但是他是包含添加milk的选项。2对于一杯咖啡 我们可能会加2份牛奶,如果我们需要彻底修改上面的原创 2015-01-21 22:52:36 · 675 阅读 · 0 评论 -
设计模式--观察者模式
有一张图表示观察者模式观察者模式定义了一种一对多的关系,我们在一个实体上监听消息,然后通知所有订阅了这个实体的观察者,新的观察者能够通过注册来实现对主题的订阅,也能过听过解除订阅来取消订阅。所以主题需要至少提供4个方法public interface subject{//观察者注册public void register(object o);//通知所有订阅者public原创 2015-01-21 22:15:35 · 520 阅读 · 0 评论 -
设计模式——策略模式
最近开坑策略模式,我之后就按照head first 设计模式的顺序 介绍我学习到的设计模式首先是策略模式策略模式的核心是把易于改变的部分抽取出来,做一个策略类,原来类通过接口来保持与策略类的关联,策略类用组合的方式添加到原来类中。这样做的好处是 1封装了变化(策略类内部的改变 不影响原来类的实现) 2 减少耦合(基类通过接口调用策略类 两者耦合度降低原创 2015-01-21 20:59:20 · 487 阅读 · 0 评论