java 设计模式
为乐.rookie
互联网 研发 管理 中间件
展开
-
java 工厂模式
一、引子话说十年前,有一个爆发户,他家有三辆汽车(Benz(奔驰)、Bmw(宝马)、Audi(奥迪)看来这人比较爱国,没有日本车),还雇了司机为他开车。不过,爆发户坐车时总是这样:上Benz车后跟司机说"开奔驰车!",坐上Bmw后他说"开宝马车!",坐上Audi后他说"开奥迪车!"。你一定说:这人有病!直接说开车不就行了?! 而当把这个爆发户的行为放到我们程序语言中来,我们发现C语言一直是通过这种转载 2010-03-12 21:14:00 · 541 阅读 · 0 评论 -
一句话评论设计模式六大原则
原则,故名思议则是本质的意思。所谓擒贼先擒王,研究设计模式自然要先了解设计原则,所有的模式都是在这些原则的基础之上发展起来的,有的是侧重一个,有的是多个都有所涉及。看完设计模式之后,我感觉到每个模式都有这些原则的影子,还渗透着面向对象的三大属性,也觉得这些原则也都有相通之处,,正是有了他们才使我们由代码工人转为艺术家。下面我来点评一下六大原则,望各位拍砖:1、单一职责原则(Sing转载 2012-02-02 18:46:42 · 607 阅读 · 0 评论 -
OO设计原则 -- Dependency Inversion Principle:OO设计的 DIP依赖倒置原则
依赖倒置原则的2个重要方针A. High level modules should not depend upon low level modules. Both shoulddepend upon abstractions.高层模块不应该依赖于低层模块,二者都应转载 2011-09-25 19:42:25 · 566 阅读 · 0 评论 -
OO设计原则 -- Liskov Substitution Principle: OO设计的LSP里氏替换原则
概要 Functions that use pointers or references to base classesmust be able to use objects of derived classes without knowing it.所有引用基类转载 2011-09-26 08:56:27 · 520 阅读 · 0 评论 -
装饰模式
现在我们来学习装饰模式。说实话,真不想写这个,因为提到这个装饰,程序员就很伤感(我也是),就想到了遥远地她和虚无缥缈地房子。房子都还没着落,谈什么装修和粉饰啊。一堵粗糙的墙,刷上白白地粉,再贴上几张壁画,整个一焕然一新。多美的事啊。哎,既然想到了,就咬着牙多想会,至少心里还有个期转载 2011-07-11 16:21:52 · 635 阅读 · 0 评论 -
责任链模式(Chain of Responsibility)
感觉这种模式很有用的,深入学习学习。。。。 一、引言 初看责任链模式,心里不禁想起了一个以前听过的相声:看牙。说的是一个病人看牙的时候,医生不小心把拔下的一个牙掉进了病人嗓子里。病人因此楼上楼下的跑了好多科室,最后无果而终。 责任链模式就是这种“推卸”责任的模式,你的问题在我这里转载 2011-07-07 09:11:37 · 461 阅读 · 0 评论 -
java 适配器模式
Java与模式:适配器模式 目的:将一个类的接口转换成客户希望的另外一个接口。A d a p t e r 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 意图:你想使用一个已经存在的类,而它的接口不符合你的需求。 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。 (仅适用于对象A d a p t e r )你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。 (目的和意图是不转载 2011-05-16 10:45:00 · 480 阅读 · 0 评论 -
命令模式
Java 命令模式(Command)2009-09-14 16:22<br />命令模式定义:将一个请求封装为一个对象,从而使你不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。别名:动作(Action)、事务(Transaction)<br />在面向对象的程序设计中,一个对象调用另一个对象,一般情况下的调用过程是:创建目标对象实例;设置调用参数;调用目标对象的方法。<br />但在有些情况下有必要使用一个专门的类对这种调用过程加以封装,我们把这种专门的类称作command类。<转载 2011-05-10 11:12:00 · 577 阅读 · 0 评论 -
设计模式之:解剖观察者模式
<br /> 论坛上很多人都讲设计模式,也讲了很多设计模式,现在也来说说我对一些设计模式的理解,对于一些简单的模式就不多说了,一切都在我以前写的例子中使用到了,比如说在velocity和freemarker的比较那篇文章里用到了单例,工厂,方法模板,在java邮件,在简单和复杂之间那篇文章里用到了策略,适配,在easywebwork中也使用了几种设计模式,在哪些文章我没有对设计模式进行详细的讲解是因为我觉得那些都是些常用的模式,大家肯定经常见到,一看就明白了,根本用不着讲解,而在那篇《解惑:在spring+转载 2010-08-14 09:21:00 · 827 阅读 · 0 评论 -
从优秀迈向卓越 -- 我的设计模式学习感悟
我们在发现问题到解决问题这个过程中,常会发现很多问题是重复出现的,或是某个问题的变体,外在不同,而本质相同,建筑学上如是,软件行业也是,这些问题的本质就是模式。有人说,设计模式并不是初学者能够理解的,当他们的编程经验到了一定程度,便迫切的需要设计模式来完善自己的代码、优雅自己的设计,以及减少重复编码,这句话也是蛮有道理的,以我的亲身经历来说,当刚开始编程时,拿起那本设计模式的书,郁郁寡欢,将该转载 2010-04-18 19:54:00 · 594 阅读 · 0 评论 -
单例模式之饿汉VS懒汉
我的疑问和观点:网上的各位大侠的普遍观点是“懒汉模式是为了在需要实例的时候再创建,可以节省内存的不必要占用。”情况1:在该类中存在常用的静态方法或者其他静态成员,使用这些静态方法和成员的时候无需实例化对象,这个时候过早的创建实例是占用了内存,这个时候恶汉模式就显现出了弊端。"暂时无用的数据"占据了内存。就像这个恶汉吃了目前不需要的食品占据了恶汉有限的胃空间,而导致恶汉的胃空间分配更加紧张。转载 2011-06-28 09:12:00 · 7706 阅读 · 1 评论