设计模式
sheltonwan
码农
展开
-
设计模式之状态模式
在本文中我将通过一个DEMO的迭代来讲述状态模式,这个DEMO以交谈的方式提出,交谈中将有三个角色出现:PM、客户、我。并在最后提一下 Martin Fowler的Replace Type Code With State/Stategy重构。然后一起看看状态模式和策略模式的异同。 在我们的开发中会经常碰到这样的情况:根据对象的状态执行相应的操作,比如数据库连接的状态 打开,还是关转载 2010-02-26 14:54:00 · 418 阅读 · 0 评论 -
设计模式之策略模式
1. 模式定义 把会变化的内容取出并封装起来,以便以后可以轻易地改动或扩充部分,而不影响不需要变化的其他部分; 2. 问题缘起 当涉及至代码维护时,为了复用目的而使用继承,结局并不完美。对父类的修改,会影响到子类型。在超类中增加的方法,会导致子类型有该方法,甚至连那些不该具备该方法的子类型也无法免除。示例,一个鸭子类型: publi转载 2010-02-26 16:47:00 · 441 阅读 · 1 评论 -
设计模式之Decorator(装饰者)
装饰模式:Decorator常被翻译成"装饰",我觉得翻译成"油漆工"更形象点,油漆工(decorator)是用来刷油漆的,那么被刷油漆的对象我们称decoratee.这两种实体在Decorator模式中是必须的.Decorator定义:动态给一个对象添加一些额外的职责,就象在墙上刷油漆.使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活.为什么使用Decorator?转载 2010-02-26 14:56:00 · 471 阅读 · 0 评论 -
设计模式之命令模式
在软件的维护过程中,当客户需要添加新的功能求或其它的需要时,他们通常会说“叫你们的软件开发人帮我们做这么一个软件修改或设计”。软件公司则负责启动此次需求的执行。软件研发人员则根据具体的需求来进行回应。这就是一个命令模式在具体程序生活中的体现。我们将其抽象,可以分为五个角色: 客户角色 client 客户定制了新的需求,并确定新的需求的接收者。 软件公司 invoker转载 2010-02-26 17:54:00 · 800 阅读 · 0 评论 -
依赖、关联、聚合、组合还有泛化的关系
世界是普遍联系的,因此程序世界中的类,也不可能是孤立的。UML为我们定义了它们之间的关系,就是:依赖、关联、聚合、组合还有泛化。 泛化关系比较好理解,就是表示类之间的继承关系。容易混淆的是依赖、关联、聚合和组合的关系。这里做一些甄别: 1、 依赖和关联的颠倒颠 在网上查找了一下依赖和关联的区别,有说“关联本身即是一种依赖”,亦有说“依赖是一种弱关联转载 2010-03-17 14:59:00 · 452 阅读 · 0 评论 -
收藏设计模式学习网址
http://zh.wikipedia.org/zh-cn/设计模式_(计算机)原创 2010-03-17 15:57:00 · 460 阅读 · 0 评论 -
强内聚、松耦合
即使是最初级的程序员,在常常的被教导中,他也了解了这句口号的含义:我们的程序要模块化,模块要完成明确的一组关联的服务功能,要求它的各部分是相关的、有机组合起来是完整体(外部程序来看黑盒子),模块的内部各成分之间相关联程度要尽可能高(强内聚);而模块与模块之间又要求是可分拆的、少依赖的(松耦合)。 人们易于实现强内聚的模块,例如:一个函数实现一个独立的功能,这就是强内聚。 人们不易实现松转载 2010-03-17 14:59:00 · 639 阅读 · 0 评论 -
设计模式总结
原型模式主要是为了方便克隆对象;适配器模式可以更好重用代码,借助已有代码实现自己的接口,分类模式和对象模式;桥接模式和装饰模式在jie构上有些类似但并不相同;桥接模式很好地解决接口与实现分离,接口与实现可以有不同的抽象类,接口抽象类聚合实现抽象类成员,根据具体实现类不同而执行不同 的功能。装饰模式是为了扩展已有类的功能,因此装饰类和已有类具有相同基类,装饰类聚合基类,由此来扩展已有类功能。原创 2010-12-23 09:21:00 · 868 阅读 · 0 评论 -
模式系列谈之Facade模式
<br />看到“门面”这个词,大家一定都觉得很熟悉。不错,这个词正是借用了我们日常生活中的“门面”的概念。日常生活中的“门面”,正是我们买东西的地方。因此可以这么说,“门面”就是这么一个地方,它们跟各种商品的生产商打交道,收集商品后,再卖给我们。换句话说,如果没有“门面”,我们将不得不直接跟各种各样的生产商买商品;而有了“门面”,我们要买东西,直接跟“门面”打交道就可以了。 <br />Facade模式正是这样一个“门面”:我们本来需要与后台的多个类或者接口打交道,而Facade模式是客户端和后台之间插入转载 2010-12-24 09:32:00 · 634 阅读 · 1 评论