design pattern
iteye_6401
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
代理模式
代理模式在客户对象调用服务提供者对象上方法的前后,执行诸如日志(logging)和计数(counting)一系列附加功能时很有用。代理模式建议把这些附加功能封装在一个单独的对象,这个对象就是指计数代理对象,而不是把这些附加的功能实现放到服务提供者的内部。 良好的对象设计的一个特征就是对象要专注于提供特定的功能。换句话说,理想的对象不应该做各种不相干的事情。把诸如日志(logging)和...原创 2008-07-18 14:56:31 · 154 阅读 · 0 评论 -
静态代理,动态代理,面向方面
代理的意思很好理解,它借鉴了我们日常所用的代理的意思:就是本来该自己亲自去做的某件事,由于某种原因不能直接做,而只能请人代替你做,这个被你请来做事的人就是代理。比如过春节要回家,由于你要上班,没时间去买票,就得票务中介代你购买,这就是一种代理模式。这个情景可以形象的描述如下: class:火车站 { 卖票: {……} } 火车站是卖票的地方,我们假设只能...原创 2009-04-08 17:10:55 · 159 阅读 · 0 评论 -
设计模式杂谈
一谈模式,相信大家都能说出一二,什么20几个模式,各种模式的用途等等,但是应该怎样学习模式,设计模式的真实意图何在? 个人认为模式是具有指导性的思考方式,目的是引导大家在面对问题时怎样去思考,及怎样选择合理的解决办法。当然,并不反对GOF本身就总结了很多的宝贵经验,学习它们可以丰富学习者知识库。但如果学习了设计模式,仅仅增加了你的知识库,我认为还远远不够。没有任何人的经验会涵盖各个领域,...2009-09-22 11:56:02 · 111 阅读 · 0 评论 -
Template模式
这个模式2006年我就知道了,当时通过学习网络和书籍等相关资料,能够理解并写写示例代码,但2013年的今天被人问起来,想了想,脑子里一片空白,愣是一句没说上来,自己感觉真可笑,最后只能以“不记得了”作为答复,让我很纠结,纠结不已。其实平时项目中经常见到类似的实现,并且自己也常用该模式编写继承结构,但没有意识到在用Template设计模式,当然这听起来是借口,也确实是事实。闲话少说,进入...2013-05-26 02:11:25 · 146 阅读 · 0 评论 -
装饰器(Decorator)模式
今天被问起装饰器模式,已没有什么印象,回来了查查资料,发现java io这块是对装饰器模式的典型应用,画张类图备忘。后面再对java nio进行统一地梳理和深入。 BufferedInputStream,顾名思义就是对InputStream添加缓冲的装饰,通过在构造函数中传入InputStream对象获得需要装饰的流,其他具体装饰子类的设计思路与此相同。OutputStre...原创 2013-08-03 01:31:20 · 270 阅读 · 0 评论 -
观察者模式(发布-订阅)
由于网站带有弱sns功能,因此需要设计关注和被关注的消息或是动作通知,那么将这个需求抽象出来的时候就会发现正好符合java中发布订阅模式。一、概述 Java 的设计模式很多,观察者模式被称为是模式中的皇后,而且Java jdk也对它做了实现,可见该设计模式的重要位置。在图形化设计的软件中,为了实现视图和事件处理的分离,大多都采用了Observer模式,比如 Java的Swing,Flex的Ac...2013-08-08 11:27:18 · 246 阅读 · 0 评论 -
Adapter(适配器)模式
《设计模式》GOF : 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 在GOF设计模式中,Adapter可以分为类模式和对象模式两种,类模式通过继承实现,对象模式通过委托实现。 类模式示意图: 对象模式示意图: ...原创 2013-08-12 13:34:48 · 217 阅读 · 0 评论 -
strategy(策略)模式
策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 策略模式的结构 策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是:“准备一...原创 2013-08-12 15:54:17 · 197 阅读 · 0 评论
分享