茶亦醉人何必酒,书能香我无须花!

张帆风顺破重浪,兰幽山间心坦荡。 斌礼厚徳创伟业,志壮凌云走四方!
posts - 169, comments - 560, trackbacks - 8, articles - 4
  博客园 :: 首页 ::  :: 联系 :: 订阅 订阅 :: 管理

Design Patterns

摘要:   行为模式主要是责任和算法的抽象化。行为模式不仅仅是关于类和对象的,而且是关于它们之间的相互作用的。行为模式分为类的行为模式和对象的行为模式两种。阅读全文

posted @ 2009-04-23 17:01 ※ABeen※ 阅读(470) | 评论 (0) 编辑 |

摘要:    原始模型模式属于对象的创建模式。通过给出一个原型对象来指明所要创建对象的类型,然后通过复制原型对象的方法来创建出更多的同类型的对象。 适用于产品结构可能会有经常性变化的系统。阅读全文

posted @ 2009-04-23 16:34 ※ABeen※ 阅读(59) | 评论 (0) 编辑 |

摘要:   建造模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。   使用建造模式可以使客户端在不需要知道所生成的产品对象有哪些零件,每个产品对应的零件彼此有何不同,是怎么样建造和组合起来的。阅读全文

posted @ 2009-04-23 16:32 ※ABeen※ 阅读(147) | 评论 (0) 编辑 |

摘要: 所谓多例模式实际上是单例的自然推广。多例模式在应用时可分有上限多例模式和无上限多例模式。阅读全文

posted @ 2009-04-23 16:29 ※ABeen※ 阅读(68) | 评论 (0) 编辑 |

摘要:   在一个系统要求一个类只能有一个实例的情况下才可以使用单例模式。如果一个类可以有几个实例共存,那么就没有必要使用单例模式。   做为对象的创建模式,分为饿汉式单例类和懒汉式单例类。饿汉式式在自己被加载时就将自己实例化。   懒汉式单例为在第一次被引用时将自己实例化。从资源利用效率来讲,饿汉式比懒汉式稍差些。从速度和反应时间角度来讲,饿汉式稍好些。懒汉式在初始化时要考虑多纯程问题。 阅读全文

posted @ 2009-04-23 16:27 ※ABeen※ 阅读(57) | 评论 (2) 编辑 |

摘要: 调停者模式是对象的行为模式。 调停者模式包装了一系统对象相互作用的方法,使得这些对象不必明显互相引用。从而使它们可以较松散的耦合。当这些对象中的某些对角之间的相互作用发生改变时,不会立既影响到其他的一些对象之间的相互作用。从而保证这些相互作用可以彼此独立地变化。阅读全文

posted @ 2009-04-23 11:23 ※ABeen※ 阅读(64) | 评论 (0) 编辑 |

摘要: 解释器模式是类的行为模式。给定一个语言之后,解释器模式可以定义出其方法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。阅读全文

posted @ 2009-04-23 11:20 ※ABeen※ 阅读(78) | 评论 (0) 编辑 |

摘要: 访问者模式是对象的行为模式。目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保有持不变。 访问者模式适用于数据结构相对未定的系统,它把数据结构和作用于结构上的操作之间的耦合解脱开,使得操作集合可以相对自由地演化。 阅读全文

posted @ 2009-04-23 11:17 ※ABeen※ 阅读(98) | 评论 (0) 编辑 |

摘要: 状态模式以称状态对象模式,是对象的行为模式。 状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像改变了它的类一样。状态模式把所研究的对象的行为包装在不同的状态对象里,每一个状态对象都属于一个抽象状态类的一个子类。阅读全文

posted @ 2009-04-23 11:14 ※ABeen※ 阅读(47) | 评论 (0) 编辑 |

摘要: 备忘录(Memento Pattern)模式以叫做快照模式或Token模式,是对象的行为模式。 备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。其用意是在不破坏封装的条件下,将一个对象的状态捕捉住,并外部化存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。阅读全文

posted @ 2009-04-23 11:13 ※ABeen※ 阅读(82) | 评论 (0) 编辑 |

摘要: 命令模式是对象的行为模式。以称为行动模式或交易模式。 命令模式把一个请求或者操作封装到一个对象中,命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。阅读全文

posted @ 2009-04-23 11:11 ※ABeen※ 阅读(63) | 评论 (0) 编辑 |

摘要: 责任链模式是对象的行为模式。 在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来开成一条链。请求在这个链上传递,直到链上的某个对象决定处理些请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织链和分配责任。 纯的责任链要求只有一个处理者处理,但是在现实中不太可能。往往是某个处理者处理部分,然后多个处理者共同完成处理。阅读全文

posted @ 2009-04-23 11:08 ※ABeen※ 阅读(56) | 评论 (0) 编辑 |

摘要: 迭代子(Iterator)模式是对象的行为模式,又叫做游标(Cursor)模式。迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象。阅读全文

posted @ 2009-04-23 11:04 ※ABeen※ 阅读(98) | 评论 (0) 编辑 |

摘要:   观察者模式对象的行为模式,又叫做发布-订阅模式(Publish/Subscribe)、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。  观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们自动更新自己。阅读全文

posted @ 2009-04-23 10:59 ※ABeen※ 阅读(68) | 评论 (0) 编辑 |

摘要:   模版方法模式是类的行为模式。   准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法的用意。阅读全文

posted @ 2009-04-23 10:52 ※ABeen※ 阅读(77) | 评论 (0) 编辑 |

摘要:   策略模式属于对象的行为模式。   其用意是针对一组算法,将每一个算法封装到具有共同接口的独立类中,从而使用得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。阅读全文

posted @ 2009-04-23 10:45 ※ABeen※ 阅读(93) | 评论 (0) 编辑 |

posted @ 2009-04-23 10:40 ※ABeen※ 阅读(121) | 评论 (0) 编辑 |

摘要:   行为模式主要是责任和算法的抽象化。行为模式不仅仅是关于类和对象的,而且是关于它们之间的相互作用的。   行为模式分为类的行为模式和对象的行为模式两种。 阅读全文

posted @ 2009-04-21 22:33 ※ABeen※ 阅读(141) | 评论 (0) 编辑 |

摘要:   桥梁模式是对象的结构模式,又称为柄体模式或接口模式。( ABeen 更喜欢柄体模式这名,更形象的表达其意图)。抽象化角化就像是一个水杯的手柄,而实现化角色和具体实现化角色就像是水杯的杯身。手柄控制杯身,由此得名“柄体模式”。阅读全文

posted @ 2009-04-17 00:18 ※ABeen※ 阅读(48) | 评论 (0) 编辑 |

摘要:   门面模式是对象的结构模式。门面模式要求一个子系统的外部与其内部的通信必须通过一个统一的门面对象进行。门面模式提供了一个高层次的接口,将客户端和子系统应用程序逻辑隔离,使得子系统更易于使用。对于服务层逻辑复杂的系统更为有效。阅读全文

posted @ 2009-04-17 00:15 ※ABeen※ 阅读(32) | 评论 (0) 编辑 |

摘要:   享元模式是对象的结构模式。享元模式以共享的方式高效地支持大量的细粒度对象。根据享元对象的内部表象,享元模式可以分成单纯享元模式和复合享元模式两种形式。享元对象不一定非要是不变对象。一个享元对象之所以能够共享,是因为它只含有可以共享的状态,而没有不可以共享的状态,这是应用享元模式的前提。享元工厂实际上提供了一个缓存机制,判断对象是否存在然后创建或直接返回对象。阅读全文

posted @ 2009-04-17 00:12 ※ABeen※ 阅读(52) | 评论 (0) 编辑 |

摘要:   代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。顾名思义,所谓代理就是一个人或者一个机构代表另一个人或者一个机构采取行动。阅读全文

posted @ 2009-04-17 00:10 ※ABeen※ 阅读(28) | 评论 (0) 编辑 |

摘要:   装饰模式又名包装模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一种替代方案。装饰模式使用原来被装饰的类的一个子类的实例,把客户端的调用委派到被装饰类。装饰模式的关键在于这种扩展是完全透明的。阅读全文

posted @ 2009-04-17 00:08 ※ABeen※ 阅读(22) | 评论 (0) 编辑 |

摘要:   合成模式属于对象的结构模式,又叫部分-整体模式。合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。可以使用客户端将单纯元素与复合元素同等看待。根据所实现接口的区别分为安全式和透明式的合成模式。阅读全文

posted @ 2009-04-17 00:03 ※ABeen※ 阅读(37) | 评论 (0) 编辑 |

摘要: 适配器模式(Adapter Pattern)把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够一起工作。 用意是将接口不同而功能相同或者相近的两个接口加以转化。 适配器模式有类的适配器模式和对象的适配器。阅读全文

posted @ 2009-04-16 22:48 ※ABeen※ 阅读(32) | 评论 (0) 编辑 |

摘要:   结构模式描述如何将类或者类的对象结合在一起形成更大的结构。   结构模式描述两种不同的东西:类与类的实例。结构模式可以分为:类的结构模式和对象的结构模式两种。阅读全文

posted @ 2009-03-21 23:10 ※ABeen※ 阅读(69) | 评论 (0) 编辑 |

摘要: 创建模式是对类的实例化过程的抽象化,分为类的创建模式和对象的创建模式。阅读全文

posted @ 2009-03-16 08:43 ※ABeen※ 阅读(50) | 评论 (0) 编辑 |

摘要: 创建模式是对类的实例化过程的抽象化,分为类的创建模式和对象的创建模式。 类的创建模式: 使用继承关系把类的创建过程延迟到子类,从而封装了客户端将得到哪些具体类的信息,并且隐藏了这些类的实例是如何创建和组合在一起的。 对象的创建模式: 把对象的创建过程动态的委派给另一个对象,从来动态的决定客户端将得到哪些具体类的实例,以及这些类是实例是如何创建和组合在一起的。阅读全文

posted @ 2009-02-24 22:39 ※ABeen※ 阅读(70) | 评论 (0) 编辑 |

摘要: 首先来考虑一款软件系统的生命周期。任何事物都要经历两次创造过程,软件项目系统也不例外。系统设计师拿到系统的设计需求后,首先系统存在于设计者们的头脑中,然后存在于设计图纸上,然后变成原型系统,最后变成真实的、可以交付客户使用的产品。此时这款软件系统在客户、设计师和开发人员眼中就如天仙妹一样动人心弦。阅读全文

posted @ 2009-02-15 10:47 ※ABeen※ 阅读(113) | 评论 (0) 编辑 |

摘要: 和设计模式相关的是设计原则。设计原则更象是理论,而设计模式是这这理论的具体体现。只有了解了面象对象理论,才可以去学习设计模式。阅读全文

posted @ 2008-09-15 22:05 ※ABeen※ 阅读(120) | 评论 (0) 编辑 |

posted @ 2008-08-18 10:34 ※ABeen※ 阅读(107) | 评论 (0) 编辑 |