设计模式----学习笔记----第二回

创建型设计模式:

       动机:将对象的创建算法与对象的使用分开,从而为创建对象提供更大的自由度

 

AbstractFactory

       使用场景:有多个Product类系,每一个Product类系都有自己公共的接口。客户端(或者说消费者)使用的组件需要所有这些Product类系中每一个都生成一个实例对象,换句话说,客户端使用的是一个对象的组合,这个组合中每一个对象都属于不同的Product,而且这些对象之间有一定的联系,例如,不同风格的窗口界面组件,使用XP风格的Button,那么对于TextBox也要使用XP风格的,而不能够使Office2005风格的。这种情况下,设计一个创建对象的类系,来帮助我们完成对象的创建过程:

              一个SuperClass,定义一系列的接口,为需要返回的每一个Product类系的对象都定义一个方法

              若干个子类,继承自SuperClass,为每一种使用情况,进行具体的编码实现

 

 

Builder

       使用场景:把对象的创建以及如何组装对象封装在一个类系中。有点像现在的数字机床,你只需要送入何种材质的钢材,其他的不用管,机床会根据事先输入好的程序进行切削以生成成品,你不必关心机床是怎么运动工作的,只要放入原料即可。Builder模式的实现方式为:

              一个SuperClass,定义了一系列的接口,以便于客户端(消费者),输入原料,得到最终成品

              若干个子类,继承自SuperClass,为每一种使用情况,进行具体的编码实现,这个具体的编码实现中,可以使用Strategy模式来封装某种算法

 

Factory Method

       使用场景:在一个类里面定义方法,声明了创建对象的位置,具体创建何种对象,需要在类的子类里面进行具体定义

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值