IOS设计模式学习 生成器
来源:互联网 发布:查股网ddx日线数据 编辑:程序博客网 时间:2024/05/18 02:21
1 前言
有时候,构建某些对象有多种不同方式。如果这些逻辑包含在构建这些对象的类中的单一方法中,构建的逻辑会非常荒唐(例如,针对各种构建需求的一大片嵌套if-else或者switch-case语句)。如果能把构建过程分解为:客户-指导者-生成器(client-director-builder)的关系,那么过程将更容易管理与复用。针对此类关系的设计模式成为生成器。
2 详述
2.1 简述
除了客户和所需要的产品,生成器模式包含连个角色:Director(指导者)和Builder(生成器)。Builder知道如何在缺少某些特定信息来建造特点产品。Director知道Builder应该如何建造什么,以参数向其提供缺少的信息来建造特定产品。
生成器模式讲一个复杂对象的构建与它的表现分离,使得同样的构建过程可以创建不同的表现。
2.2 何时使用
(1)需要创建涉及各种部件的复杂对象。创建对象的算法应该独立于部件的装配方式。常见的例子是构建组合对象。
(2)构建过程需要以不同的方式(例如,部件或表现的不同组合)构建对象。
2.3 生成器与抽象工厂的对比
(1)生成器构建复杂对象,抽象工厂构建简单或者复杂对象;
(2)生成器以多个步骤构建对象,抽象工厂以单一步骤构建对象;
(3)生成器以多种方式构建对象昂,抽象工厂以单一步骤构建对象;
(4)生成器在构建过程的最后一步返回产品,抽象工厂立刻返回产品;
(5)生成器专注一个特定产品,抽象工厂强调一套产品。
3 结语
生成器模式能帮助构建涉及部件与表现的各种组件的对象。比如一个游戏的角色的各个属性的配置,力量,敏捷,智慧,体质等,影响着角色的攻击力,防御力,速度等属性,可以用生成器模式。客户-指导者-生成器(client-director-builder)
以上是所有内容,希望对大家有所帮助。
- IOS设计模式学习 生成器
- IOS设计模式学习(6)生成器
- iOS设计模式-生成器模式
- iOS 设计模式 - 生成器模式
- IOS 设计模式 生成器模式
- iOS设计模式之生成器
- 设计模式学习-Builder(生成器
- 设计模式学习--生成器BUILDER
- iOS设计模式(三) 生成器模式
- 设计模式学习--------9.生成器模式学习
- 设计模式学习--------9.生成器模式学习
- 设计模式学习(五) ------ 生成器模式
- java设计模式学习—生成器(Builder)
- 设计模式 生成器模式
- 设计模式-生成器模式
- 设计模式:生成器模式
- 设计模式学习-----建造者模式(生成器模式)
- 设计模式学习笔记四(Builder生成器模式)
- SAE虽然禁止了IO写操作,但是并没有禁止fwrite,file_put_contents等写操作函数
- la 3983 捡垃圾的机器人 dp 单调队列优化 典型 难
- Memcache的容量设置
- 线性表
- JS事件冒泡
- IOS设计模式学习 生成器
- 将窗口居中显示
- jqueryui的autocomplete一个简单例子
- Python宝典第22章:Python扩展和嵌入
- 【UMvp】1.Unity3d开源代码框架UMvp基础介绍
- hdoj_1007Quoit Design_最近点对(分治)
- Python监控Windows下的文件变化
- 感悟
- Kd-tree