
菜鸟硕枫入门设计模式
iteye_2655
这个作者很懒,什么都没留下…
展开
-
菜鸟硕枫设计模式系列之1 单例模式
单例模式:顾名思义,一个类只存在一个这样的实例。并通过这个唯一实例来向系统提供实例行为。单例模式是一种创建型模式。应用场合当然是系统需要唯一该类实例的场合了,比如说资源管理器等。单例模式类图: [img]...原创 2010-12-09 13:32:37 · 88 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之15 命令模式
命令模式是一种行为模式,解耦了发送方与接收方。它将请求封装成一个对象,使得可以用不同的请求使得客户端参数化,典型应用在支持redo undo 事物等场景。命令模式类图: [img]http://dl.iteye.com/upload/attachment/364675/25714191-2d46-3425-8a2b-a...原创 2010-12-09 18:07:40 · 81 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之16 解释器模式
解释器模式是一种行为模式。主要方法就是形成一个解释语法树,然后根据语法树中的语法规则执行每一个语法字句即可。解释器模式类图: [img]http://dl.iteye.com/upload/attachment/364678/71a278dd-fb56-3c94-93fd-3a7137b9ad9b.jpg[/img]说...原创 2010-12-09 18:13:21 · 83 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之17 迭代器模式
迭代器模式是一种行为模式。提供了一种顺序访问聚集中每个元素的办法(有可能元素之前不同类型)。迭代器在java中应用很广泛。迭代器最大的特点是提供了存储对象的聚集,另外也提供了遍历访问对象的方式。迭代器模式类图: [img]http://dl.iteye.com/upload...原创 2010-12-09 18:19:34 · 73 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之18 中介者模式
中介者模式,”中介者“,即在一系列系统交互的过程中,通过第三方的办法使得这些系统不用直接交互,都通过中介来进行。这里简化了系统的关系,但是有可能使得中介成为系统的交互瓶颈。中介者模式类图: [img]http://dl.iteye.com/upload/attachment/364831...原创 2010-12-09 18:25:28 · 90 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之19 备忘录模式
memoto pattern是一种保存对象以前状态的一种行为模式,可以做undo redo等命令的储存者,也可以做打怪升级的复活储存,比较简单。备忘录模式类图: [img]http://dl.iteye.com/upload/attachment/364902/5fe76af2-c6bc-345e-a349-1a95600715a...原创 2010-12-09 18:31:17 · 93 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之20 观察者模式
观察者模式是设计模式中非常重要的设计模式之一。主要特点是,向要获得信息的对象在观察平台注册,然后当感兴趣的事情发生时,平台通知每一个注册的观察者,观察者根据发生的事情来做出自己的行为。其中要点在于观察者要能方便注册,方便解除注册,观察平台在事情发生时通知他们。消息的发布 订阅传输方式就是采用观察者模式这种机理的。观察者模式类图: ...原创 2010-12-09 18:36:00 · 101 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之21 状态模式
避免了复杂的条件;取而代之以状态对象。优势在于允许对象改变内部状态。和策略优势有很多相似之处。状态模式也是一种行为模式。状态模式类图: [img]http://dl.iteye.com/upload/attachment/364918/7cb07ddc-29e8-3046-8a0b-9d2e28f5e2a0.jpg[/im...原创 2010-12-09 18:40:05 · 95 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之22 策略模式
策略模式是设计模式中比较简单的一种模式,主要是针对某一特定问题有多种手段达成目标的情况的,比如一个人回家可以坐公交、骑自行车、走路等,而这种模式的要点在于,策略要抽象出接口,并把抽象策略注入到具体操作者中,从而完成手段和目标的解耦分离。策略模式类图: [img]http://dl.iteye.com/upload/at...原创 2010-12-09 18:44:05 · 91 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之23 模版方法模式
模版方法模式用来稳定对象的行为,可以由具体实现去完成细节。模版方法模式是一种行为模式。模版方法模式类图: [img]http://dl.iteye.com/upload/attachment/364928/409dfc3b-c793-31f1-91f1-e26d13075e70.jpg[/img]具体代...原创 2010-12-09 18:50:58 · 87 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之24 访问者模式
visit pattern是一种行为模式。主要特点是一个可遍历数据结构和比较稳固的对象,对于对象行为则可以方便添加,并且可以根据对象的类型表现不同的行为。访问者模式类图: [img]http://dl.iteye.com/upload/attachment/364939/55cf35cc-e52a-31ac-a1d1-d...原创 2010-12-09 18:55:35 · 95 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之14 职责链模式
职责链模式是保证一个事件一定能够被处理的一种模式。比如:一个coder去请假,temLeader批5天一下的,Manager批10天的,就这么简单。职责链模式是一种行为模式。职责链模式类图: [img]http://dl.iteye.com/upload/attachment/364668/53040d7b-7b4a-3089-8bd4-83a...原创 2010-12-09 18:01:18 · 87 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之13 代理模式二(动态代理)
java中的动态代理都需要实现一个实现了InvocationHandler接口的代理类,在该类中需要实现invoke方法,并且需要注入你想要代理的目标类对象实例。然后就可以对想要代理的方法进行操作了。动态代理类图: [img]http://dl.iteye.com/upload/attachment/364557/9fa8...原创 2010-12-09 16:36:48 · 115 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之12 代理模式一
代理模式貌似是java中用途最广的设计模式之一,也是最重要的设计模式之一。使用代理模式能够封装设计细节,甚至能够改变被代理对象的行为,也可以在被代理对象开始行为之前做一些前期的处理【权限认证,开启事务等等就可以在这个地方做】。我们先看看前面两种代理方式:兄弟代理和父子代理。代理模式也是一种结构型模式。代理模式类图: [img]http://dl.i...原创 2010-12-09 16:31:53 · 86 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之2 简单工厂模式
简单工厂模式又叫静态工厂模式,是一种创建对象实例的设计模式。通过对象创建工厂根据不同的创建请求创建不同的类对象。将不同对象的创建工作集中到一个创建工厂来完成。简单工厂模式类图: [img]http://dl.iteye.com/upload/attachment/364515/f5d9a2e...原创 2010-12-09 13:47:10 · 100 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之3 工厂方法模式
工厂方法模式也是一种创建对象的设计模式,属于创建型设计模式。工厂方法模式定义了对象工厂接口,抽象出了获取对象实例方法,而将具体的创建对象工作放到了具体的类创建工厂进行。工厂方法模式类图: [img]http://dl.iteye.com/upload/attachment/364517/538be5db-fcb6-38f8-bb2b-480cf3b9bdab....原创 2010-12-09 13:59:14 · 87 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之4 抽象工厂模式
抽象工厂方法模式是用途最广的方法模式之一,其主要思想是利用工厂生产组合的复杂实例组,由于工厂、不同的实例组中实例一般都抽象为接口层次,所以很方便添加不同的具体工厂和不同的实例组。主要用于创建一系列相关的对象组或是其他方面。抽象工厂方法模式类图:[img]http://dl.iteye.com/upload/attachment/364524/5c72b240-b5e1-3407-a...原创 2010-12-09 14:12:29 · 109 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之5 原型模式
原型模式比较简单,就是利用object中的clone()方法做一次深度拷贝,复制一份原有对象即可。这种方式的好处在于原有对象的拷贝没有调用原有对象的New方法,也就没有触发原有对象的构造函数链,提高了对象制造效率。这种模式应用场景在于对象基本相同,除了个别属性字段有区分,可以复制后更改这些个别字段即可。原型模式类图: [im...原创 2010-12-09 14:17:17 · 123 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之6 建造者模式
建造者模式是设计模式中另一个重要的创建对象的方法模式。它的特点主要是稳定了创建的过程,比如下面的例子中就是每个产品的创建过程都包括创建A部分和创建B部分,但不同的builder可以有自己的方式去创建产品,比如不同的房地产商可以建不同的房子【大房子、小房子】,只要建造过程稳定一致就可以了。建造者模式类图: [img]http://dl.iteye.com/u...原创 2010-12-09 14:24:06 · 134 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之7 适配器模式
适配器模式,正如适配器这个名字一样,起一个转换的作用。目的是通过接口转化,使得新系统和老系统可以正常交互。适配器模式是一种结构型模式。适配器模式类图: [img]http://dl.iteye.com/upload/attachment/364532/87dc220e-6d9c-34b2-9864-bed07b82adcf.jpg[/img]具体...原创 2010-12-09 14:30:27 · 86 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之8 桥接模式
桥接模式将抽象部分与具体实现分离,使得都能独立的变化。它采用注入实现的方式来实现解耦的,而通常注入的行为只是被注入者行为的一部分。桥接模式也是一种结构型设计模式。桥接模式类图: [img]http://dl.iteye.com/upload/attachment/364535/165d5659-9044-3327-b276-8942e3349d82.jpg[/img...原创 2010-12-09 14:38:54 · 97 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之9 组合模式
组合模式,顾名思义,采用了组合的方式,使得简单的对象可以组合成复杂的对象,同时保证了简单对象和复杂对象使用上的一致性。这是一种典型的has- a 关系。用过组合 使得简单对象成为了复杂对象的一部分,而在使用上,简单对象和复杂对象又是一致的。组合模式类图: [img]http://dl.iteye.com/upload/attachment/364541...原创 2010-12-09 14:49:19 · 104 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之10 装饰模式
装饰模式是对对象功能的扩展的一种模式,好处在于不更改原有对象的特性,只是通过注入方式为对象添加一些额外的功能,使得对象的功能丰富,特别有利于对对象行为的多个细小行为的添加。装饰模式是一种结构型模式。装饰模式类图: [img]http://dl.iteye.com/upload/attachment/364545/b30e...原创 2010-12-09 15:59:27 · 95 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之11 外观模式
外观模式,一种封装底层实现的模式。使得调用者不用关心谁去具体的完成功能操作,解耦了请求者与操作者,封装了细节。外观模式也是一种结构型设计模式。外观模式类图: [img]http://dl.iteye.com/upload/attachment/364549/8dd74c2a-15c0-3d86-9e62-c70f596333...原创 2010-12-09 16:06:53 · 111 阅读 · 0 评论 -
菜鸟硕枫设计模式系列之25 设计模式5大原则
开闭原则(Open-Closed Principle):对扩展开放,对修改关闭。要点在于抽象,通过抽象出类或接口,使得不同功能可以通过细化子类或接口实现去完成,达到了功能扩展,而有尽量不影响原有功能代码。单一职责原则(Single Responsibility Principle ):一个类,最好只有一个职责,所谓职责,就是引起类(对象)行为变化的原因,如果一个类有很多职责,那么导...原创 2010-12-09 18:56:54 · 74 阅读 · 0 评论