Objective C--建造者模式
来源:互联网 发布:java 开发环境 编辑:程序博客网 时间:2024/05/18 06:51
转载地址 http://ohcoder.com/blog/2012/12/01/builder-pattern/
今天和大家一起分享的是建造者模式。
如果你需要将一个复杂对象的构建于它的表示分离,使得同样的构建过程可以创建不同的表示的意图时,那我们就需要这个模式,建造者模式又叫生成器模式。建造者模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。如果我们用了建造者模式,那么用户就只需要指定需要建造的类型就可以得到它们,而具体建造的过程和细节就不需知道了。
下面给出建造者模式的定义:
建造者模式(Builder),将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
其实,基本上来说,建造者模式是在当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时适用的模式。
下面,给大家呈现一下建造者模式的类结构图:
让我们简单了解一下上面这张图中各个类表示的意思。其中Builder是为创建一个Product对象指定的抽象接口,这里面的Product顾名思义,就是我们要最终展现的具体产品类。继承自Builder接口的ConcreteBuilder类,是具体建造者,构造和装配各个部件。那么Director是什么呢?它是指挥具体建造者构建产品的总指挥,相当于一个指挥员。好吧,说的有些抽象,下面给大家展示一下简单的代码实现,大家可以慢慢体会一下。
注意:本文所有代码均在ARC环境下编译通过。
- Product类接口
- Product类实现
- Builder类接口
- Builder类实现
- ConcreteBuilder1类接口
- ConcreteBuilder1类实现
- ConcreteBuilder2类接口
- ConcreteBuilder2类实现
- Director类接口
- Director类实现
- Main方法调用
好啦,以上是类结构图中所需要简单实现的代码。
最后说一下,一般都什么时候可能会用到建造者模式。一般来说,建造者模式主要用于创建一些复杂的对象,这些对象内部构建的建造顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化,那么建造者模式的好处就是使得建造代码和表示代码分离,由于建造者隐藏了该产品是如何组装的,所以若需要改变一个产品的内部表示,只需要再定义一个具体的建造者就可以了。
- Objective C--建造者模式
- Objective C 建造者模式
- Objective C--建造者模式
- 【C++】Chapter9:建造者模式
- 建造者模式(C++)
- C#--设计模式之建造者模式
- Objective C--中介者模式
- Objective C中介者模式
- Objective C--中介者模式
- 乐在其中设计模式(C#) - 建造者模式(Builder Pattern)
- C语言和设计模式(建造者模式)
- C语言和设计模式(建造者模式)
- C语言和设计模式(建造者模式)
- 09.C语言和设计模式(建造者模式)
- 18、C语言和设计模式(建造者模式)
- 设计模式c++(二)----Biluder建造者模式
- 建造模式C语言实现
- Builder 建造者模式
- 局部刷新UITableView
- Swift中的标准函数
- 黑马程序员—反射的深入讲解
- 函数和堆栈
- C++继承中的内存布局
- Objective C--建造者模式
- 分词问题分析
- 长兴居民微信买菜
- 【Android应用开发】-Android 串口编程原理和实现方式
- springmvc+mybatis+c3p0 tomcat启动时报的错误,求解决方案
- Data input format and Data output format
- Android 多选列表
- 关于AChartengine点上显示数据的问题
- dede实现列表页隔行换色