设计模式
hufeng825
-
中介者模式
中介模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使用其耦合松散,而且可以独立地改变它们之间的交互。下面先给出类结构图,再做简单解释。中介者模式很容易在系统中引用,但是也比较容易误用。所以当系统出现了“多对多”交互复杂的对象群时,不要急于使用中介者模式,而要先反思系统在设计上是不是合理。下面我们来说一说,转载 2013-03-11 11:55:01 · 977 阅读 · 0 评论 -
访问者模式
今天和大家分享的是访问者模式。为了方便向大家展示,先给出简短的定义。访问者模式(Visitor),表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。紧接着,给出其类结构图。访问者模式适用于数据结构相对稳定的系统,它把数据结构和作用于结构上的操作之间的耦合解脱开,使得操作结合可以相对自由地转载 2013-03-11 11:40:41 · 924 阅读 · 1 评论 -
解释器模式
今天和大家分享的模式是解释器模式。首先介绍一下解释器模式适合解决哪类问题。其实,解释器模式需要解决的问题是,如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。就应用的例子来说,例如正则表达式就是它的一种具体应用,解释器可以为正则表示定义一个文法,如何表示一个特定的转载 2013-03-11 11:43:59 · 893 阅读 · 0 评论 -
职责链模式
今天想和大家分享的是职责链模式。闲话先不多说,先给出一个简单的定义。职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。职责链模式的一个很重要的特点是,当客户发出请求之后,客户端并不知道哪一个对象最终处理这个请求,转载 2013-03-11 12:00:15 · 995 阅读 · 0 评论 -
抽象工厂模式(Abstract Factory)
今天和大家分享的一个模式叫抽象工厂模式。呃,这个模式第一眼看上去还是有点儿小复杂。不过一开始,不准备直接把原生的类结构图呈现出来,而是先从一个简单的数据库访问的例子开始。这个例子的场景是公司根据使用不同数据库为基准对部门和人员进行整合,最终目的是为了降低对不同类型数据库对不同部门以及使用人员三者之间的耦合。好的,还是先向大家展示一下抽象工厂模式的定义,什么是抽象工厂模式呢?抽象转载 2013-03-11 22:46:34 · 1037 阅读 · 0 评论 -
Objective C--外观模式
今天和大家分享的是外观模式。这个模式也不难,我猜想很多人都不经意间用过。好吧,先让我们看看他是如何定义的。外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义 一个高层接口,这个接口使得这一子系统更加容易使用。下面给大家展示一下类的结构图,想必大家一看就明白了:其实这个模式中,没有类与类之间的继承关系,只是进行了简单的类引用,统一转载 2013-03-11 22:40:33 · 878 阅读 · 0 评论 -
利用隐私循环
nsarray 类定义的方法1. makeObjectsPerformSelector:@select(aMethod)简介:让数组中的每个元素 都调用 aMethod 2. makeObjectsPerformSelector:@select(aMethod) withObject:oneObject简介:让数组中原创 2013-04-10 11:14:45 · 1216 阅读 · 0 评论