admin管理员组

文章数量:1530845

2024年7月17日发(作者:)

==创建型模式==

1、 =SIMPLEFACTORY=

打完篮球真累,正好边上有个小摊。

“来杯可乐。”

“我要芬达。”

“一瓶矿泉水。”

工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消

费者无须修改就可以接纳新产品。有了小摊这个工厂,我们口渴的问题就很

easy

的解决了。

2、 =FACTORYMETHOD=

以前每次下午打完篮球后一般很晚,回来再洗个澡,食堂就关门了。我们就集体跑过西三门

外吃牛肉面(呵呵,人生之一大爽事啊),每个餐厅的风味还不一样,这无所谓啦,我们只

要说一句“来碗牛肉面"就行了。

工厂方法模式:核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做,

成为一个抽象工厂角色,仅负责给出具体工厂类必须实现的接口,而不接触哪一个产品类应

当被实例化这种细节。每一个餐厅就是一个具体的工厂,可惜现在西三门已经关掉了,郁闷

ing!

3、 =SINGLETON=

Kobe

就是

Kobe,

不管你是从电视上看到,还是从报纸上看到,其实就是他一个人

单例模式:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实

例单例模式。组织后卫可以有几个,但

Kobe

只能有一个,废话!

4、 =BUILDER=

NBA

中强队颇多,且各有自己的特点,因此对付不同的队有不同的打法,但你只要说“今天打国王”就行了,

具体该怎么打由教练去安排(

build)

就行了。

建造模式:将产品的内部表象和客户端分来,客户不必知道产品内部组成的细节,因此当产

品的表象一般很复杂时才用。战术安排的确是个比较专业的任务,所以…。

5、 =PROTOTYPE=

今年全明星赛真不错,真想再看一遍。

“小陈,把

serv-u

开一下,我下你的全明星赛。”

“OK!

不过先上传两部好片。”

“啊,我晕〜〜!”

原始模型模式:实际上就是复制啦。原始模型模式允许动态的增加或减少产品类,产品类适

合于任何的等级结构。缺点是每一个类都必须配备一个克隆方法。还好,

Windows

里面的东

东只要点右键,都有个复制选项。

==结构型模式==

6、 =ADAPTER=

姚明刚去火箭时,交流有点不便,但通过经纪人

Adapter,

姚明很快就和火箭的其他人混熟

了。

适配器模式:把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不

匹配而无法一起工作的两个类能够一起工作。通过经纪人

Adapter,

主教练就可以把姚明看

作本土人(会说

e

文的人)。如今姚明已经加强了功能,使得不要经纪人也可以和主教练交流,呵呵,

strman!

7、 =COMPOSITE=

上半场被灌了个

50:25,

趁中场暂停,大家一起来安排下半场怎么打:

“方案

A:6

号太准,要专人盯防。”一“就是就是!”

“方案

B:

左边防守太弱,把

XX

换上来。”—“好耶好耶!”

“方案

C:

进攻太差,多打一些挡差。”—“不错不错!”

“方案

D:

上半场方案

X

其实还是不错白

1

下半场

goon

。”—“

OKOK!"

一声哨响,下半场开始,我们把方案

A,B,C…

结合,定为方案丫。@#¥%人&*(!

~

等一系列后,我们终于以

51:50

战胜对手,哈哈…!!白日梦#&@*!

合成模式:合成模式使得客户端把单独的成分对象和由他们复合而成的合成对象同等看待,因此合成模式使得

客户端增加新的构件变得容易。方案

A

是一条简单的方案,方案

D

是由

不同的方案结合而成的复杂方案,但我们不管这些,我们只知道它们都是我们所要的方案。

8、 =DECORATOR=

记得西边操场没修好时,我们踢球没有地盘,还好,有个篮球场是空的,我们便捡来几块砖

头,摆上两个门,哈哈,这样,篮球场也就变成小足球场了。

系里举办一个舞会,得找块大点的地盘,我们又看中了篮球场,挂起一盏灯,搬来两个音箱,

ok,

一切搞定。

这样,篮球场便变成了舞会厅了,哈哈。

装饰模式:装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案,提供比

继承更多的灵活性。其实,篮球场还可以变成很多其它的东东,只要发挥你的想像,嘻嘻。

9、 =PROXY=

NBA

happying

突然,小付跑过来说:“你的电话,

X

系说明天下午两点要跟俺们系干一场,怎么样?”

—“OK,

就跟他们说没问题!”玩

Games

要紧。

小付作为一个代理倒省了俺不少事,呵呵。

代理模式:代理就是一个人或一个机构代表另一个人或者一个机构采取行动。某些情况

下,客户不想或者不能够直接引用一个对象,代理对象可以在客户和目标对象直接起到中介

的作用。客户端分辨不出代理主题对象与真实主题对象。代理模式可以并不知道真正的被代

理对象,而仅仅持有一个被代理对象的接口,这时候代理对象不能够创建被代理对象,被代理对象必须有系统

的其他角色代为创建并传入。

X

系只知道我们同意和他们干一场,但并不

知道是回答他们的就是小付。

本文标签: 模式对象工厂代理