什么是策略模式?
策略模式定义了算法家族,分别封装起来,让它们之间能够相互替换,此模式让算法的变化不会影响到使用算法的客户。
策略模式是一种定义一系列算法的方法,从概念上看全部这些算法完毕的都是同样的工作,仅仅是实现不同,它可以以同样的方式调用全部的算法,降低了各种算法类与使用算法之间的耦合。策.....
分类:
其他好文 时间:
2014-06-06 18:41:54
阅读次数:
212
1.三个问题:可维护、可复用、可扩展。2.复用VS复制。3.业务封装业务逻辑与界面逻辑分开,降低耦合。4.松耦合现象:具有类似功能的模块或相似流程的函数,写入到同一个函数中,增加耦合。缺点:紧耦合的坏处在于新的修改影响无需修改的代码。解决:将类似的过程或模块定义为不同的子类,并抽象出共有的基类。
分类:
其他好文 时间:
2014-06-05 20:05:45
阅读次数:
251
上一章,我们分析Node类的源码,在Node类里面耦合了一个 Scheduler
类的对象,这章我们就来剖析Cocos2d-x的调度器 Scheduler
类的源码,从源码中去了解它的实现与应用方法。直入正题,我们打开CCScheduler.h文件看下里面都藏了些什么。打开了CCScheduler....
分类:
其他好文 时间:
2014-06-05 19:07:37
阅读次数:
543
什么是职责链模式
使多个对象都有机会处理请求,从而避免请求的发送者和接受者之前的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。
职责链模式的重心是在“链”上,由一条链去处理相似的请求在链中决定谁来处理这个请求,并返回相应的结果。
通用类图
Handler:抽象处理者。一是定义一个请求的处理方法ha...
分类:
其他好文 时间:
2014-06-02 22:40:48
阅读次数:
297
三层架构(3-tier architecture)
通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层...
分类:
其他好文 时间:
2014-06-02 18:29:53
阅读次数:
294
四、Chain of
Responsibility(责任链)描述:一系列类(classes)试图处理一个请求request,这些类之间是一个松散的耦合,唯一共同点是在他们之间传递request.
也就是说,来了一个请求,A类先处理,如果没有处理,就传递到B类处理,如果没有处理,就传递到C类处理,就这...
分类:
其他好文 时间:
2014-06-02 09:19:29
阅读次数:
303
桥梁模式的用意是:将抽象化和实现化惊醒脱耦,使得两者可以独立的变化。所谓脱耦就是将抽象化和实现化之间的耦合解脱开,也就是强关联变成若关联。强关联就是在编译期就已经确立的,无法在运行时改变;弱关联就是可以动态的确定并且运行期可以改变的关联。继承是强关联,合成、聚合是弱关联。类图:示意性代码:packa...
分类:
其他好文 时间:
2014-06-02 08:57:44
阅读次数:
212
很多人疑惑代理究竟该什么时候使用下面列举了一些使用代理的地方?对象A内部发生了一些事情,想通知对象B??对象B想监听对象A内部发生了什么事情??对象A想在自己的方法内部调用对象B的某个方法,并且对象A不能对对象B有耦合依赖??对象A想传递数据给对象B??……?以上情况,结果都一样:对象B是对象A的代...
分类:
其他好文 时间:
2014-06-02 07:21:36
阅读次数:
177
在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实现二者之间的松耦合。这就是命令模式(Command
Pattern)————题记
设计模式
命令模式:将“请求”封装成对象,以便使用不同...
分类:
其他好文 时间:
2014-06-02 04:59:53
阅读次数:
398
三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。
首先我们先用一组生活中的图片来说明三层的重要性。...
分类:
其他好文 时间:
2014-06-01 14:41:24
阅读次数:
234