建造者模式的解析-iOS

栏目: IOS · 发布时间: 5年前

内容简介:1、2、3、

建造者模式的解析-iOS

其他 设计模式 的介绍

1、 简单工厂模式、工厂模式、抽象工厂模式的解析-iOS

2、 建造者模式的解析-iOS

3、 单例模式的解析-iOS

4、 原型模式的解析-iOS

5、 代理模式的解析-iOS

6、 适配器模式的解析-iOS

7、 装饰器模式的解析-iOS

8、 外观模式的解析-iOS

9、 桥接模式的解析-iOS

10、 组合模式的解析-iOS

概率描述

设计模式的一种,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 百度百科

实用场景

1 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。

2 当构造过程必须允许被构造的对象有不同表示时。 百度百科

角色

1 Builder:为创建一个产品对象的各个部件指定抽象接口。

2 ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件,定义并明确它所创建的表示,并 提供一个检索产品的接口。 

3 Director:构造一个使用Builder接口的对象。 

4 Product:表示被构造的复杂对象。ConcreteBuilder创建该产品的内部表示并定义它的装配过程,包含定义组成部件的类,包括将这些部件装配成最终产品的接口。 百度百科

案例解析

就以我刚上大学的时候,为了省钱,去买了一台组装的电脑,我们以这个为例子。

我们去电脑城区组装电脑,老板一般会问我们需要拿来干什么,比如玩游戏还是学习,学习的是什么,对电脑有什么要求。他会根据我们描述来给我们挑选CPU,屏幕,主板、内存等等。再要组装电脑的工作人员去组装电脑(其实那个时候我是老板自己组装的,我们假设老板请了个工人组装电脑)。然后我们以我买组装电脑为例来解析每个角色。

Builder:就是我们具体的配件,比如CPU,主板、屏幕、内存等等,组成电脑的硬件。

ConcreteBuilder:就是老板请的根据提供的配件组装电脑的组装人员。 

Director:就是我们的老板,分析我们需求,给我们挑选硬件设备。 

Product:就是我们买的组装电脑。

我们去电脑店先找老板,老板根据我们的需求,告诉我们需要什么样配置达电脑

老板是Director,代码如下

下面是每个具体的配件Builder

CPU的代码

主板的代码

屏幕的代码

内存的代码

然后就是我的产品类Product—电脑

我们的电脑有CPU,主板、屏幕、内存等这几个属性,其他的一些属性,我没有列出了,只是以这些为列子。

然后老板吩咐我们的组装人员去组装电脑 — ConcreteBuilder

组装人员的代码

最后就是电脑组装好了,我来取电脑

优缺点

优点

1符合依赖倒转原则:可以商品和商品创建的过程分开,使用一样的创建方式,根据客户的不同需求创建出不同的商品,就相当于细节依赖抽象,就是说我们的具体商品,依赖于不同具体的构成部件。 

2、符合开发-封闭原则:易于扩展,新增加新的商品,只要修改我们的部件的类型、大小,可以根据不同的建造者建造出不同的商品。 

缺点 

这种模式只能使用于有很多共同点的商品,如果一个是汽车,和电脑,他们的共同点很少,不太适用于建造者模式

总结

如果有写的不正确或者侵权的,希望大家给我提出来,我会及时修改。谢谢大家。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

精通HTML

精通HTML

Paul Haine / 杨明军 / 人民邮电出版社 / 2008-2 / 35.00元

本书深入地探讨了(X)HTML及相关技术包括CSS、微格式、语义网等,重点阐述了如何在恰当的时候使用恰当的标签,全书始终贯彻现代的Web设计理念,从而使读者可以学习如何充分利用各种标记提供的多样性,创建语义丰富和结构合理的网站。 本书适合具备初步HTML和CSS知识的Web设计开发人员阅读。一起来看看 《精通HTML》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具