1700457340
1700457341
黑色人种的皮肤颜色是黑色的!
1700457342
1700457343
黑人会说话,一般人听不懂。
1700457344
1700457345
—造出的第三批人是黄色人种—
1700457346
1700457347
黄色人种的皮肤颜色是黄色的!
1700457348
1700457349
黄色人种会说话,一般说的都是双字节。
1700457350
1700457351
哇,人类的生产过程就展现出来了!这个世界就热闹起来了,黑人、白人、黄人都开始活动了,这也正是我们现在的真实世界。以上就是工厂方法模式(没错,对该部分有疑问,请继续阅读下去)。
1700457352
1700457353
1700457354
1700457355
1700457357
设计模式之禅 8.2 工厂方法模式的定义
1700457358
1700457359
工厂方法模式使用的频率非常高,在我们日常的开发中总能见到它的身影。其定义为:
1700457360
1700457361
Define an interface for creating an object,but let subclasses decide which class to instantiate.Factory Method lets a class defer instantiation to subclasses.(定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。)
1700457362
1700457363
工厂方法模式的通用类图如图8-2所示。
1700457364
1700457365
1700457366
1700457367
1700457368
图8-2 工厂方法模式通用类图
1700457369
1700457370
在工厂方法模式中,抽象产品类Product负责定义产品的共性,实现对事物最抽象的定义;Creator为抽象创建类,也就是抽象工厂,具体如何创建产品类是由具体的实现工厂ConcreteCreator完成的。工厂方法模式的变种较多,我们来看一个比较实用的通用源码。
1700457371
1700457372
抽象产品类代码如代码清单8-8所示。
1700457373
1700457374
代码清单8-8 抽象产品类
1700457375
1700457376
public abstract class Product{
1700457377
1700457378
//产品类的公共方法
1700457379
1700457380
public void method1(){
1700457381
1700457382
//业务逻辑处理
1700457383
1700457384
}
1700457385
1700457386
//抽象方法
1700457387
1700457388
public abstract void method2();
1700457389
[
上一页 ]
[ :1.70045734e+09 ]
[
下一页 ]