您的位置:首页 > 其它

设计模式之Factory Method

2009-10-21 15:52 267 查看
Factory Method属于创建型模式,要灵活运用它,首先要理解其各部分的概念:

Product
定义了由factory method所创建对象的统一接口。

ConcreteProduct
具体的类,实现Product接口。

Creator
一般为抽象类,声明若干factory
method(方法),由它创建类型为Product的对象。正因为它能"生产"对象,所以称为factory
method。Creator也可能拥有一个方法创建某个缺省的具体对象。

ConcreteCreator
重载factory method以创建某个 ConcreteProduct 的具体实例。

也就是说Creator依赖于ConcreteCreator创建Product型的ConcreteProduct对象。
Factory
method使应用程序代码只需处理Product接口,而与具体的类(ConcreteProduct)无关,增强了代码可重用性,因为它独立于用户定义的具体的类。

Pattern 要点:

Factory Method一个很大的特点是将将实例的创建与适用分开来操作, 好比制造汽车, 将制造过程留在工厂里,最后出来的只是一辆成型的汽车。 2009-12-04

这里很多地方用到了面向接口编程的思想,Sample mysample=new MySample();想这种就是将Sample定义成一个abstract类或接口,具体实现有MySample来实现,值得注意的是,这里MySample只是实现了Sample中定义的方法,并没有添加新的内容。2009-12-04

Factory Method适用的情况:

对象构造函数比较多,比较复杂的时候。比如Sample a = new Sample(xxxxx),如果这里面的参数比较复杂,说明这个类设计的也比较复杂,相当于把饺子都放在一个锅里了,这个时候如果考虑用factory method可以降低复杂度,后期如果需要alter或update就会比较容易。2009-12-04





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: