打字猴:1.700446317e+09
1700446317 编写高质量代码:改善Java程序的151个建议 [:1700438160]
1700446318 编写高质量代码:改善Java程序的151个建议 建议88:用枚举实现工厂方法模式更简洁
1700446319
1700446320 工厂方法模式(Factory Method Pattern)是“创建对象的接口,让子类决定实例化哪一个类,并使一个类的实例化延迟到其子类”。工厂方法模式在我们的开发工作中经常会用到。下面以汽车制造为例,看看一般的工厂方法模式是如何实现的,代码如下:
1700446321
1700446322 //抽象产品
1700446323
1700446324 interface Car{
1700446325
1700446326 };
1700446327
1700446328 //具体产品类
1700446329
1700446330 class FordCar implements Car{
1700446331
1700446332 };
1700446333
1700446334 //具体产品类
1700446335
1700446336 class BuickCar implements Car{
1700446337
1700446338 };
1700446339
1700446340 //工厂类
1700446341
1700446342 class CarFactory{
1700446343
1700446344 //生产汽车
1700446345
1700446346 public static Car createCar(Class<?extends Car>c){
1700446347
1700446348 try{
1700446349
1700446350 return(Car)c.newInstance();
1700446351
1700446352 }catch(Exception e){
1700446353
1700446354 e.printStackTrace();
1700446355
1700446356 }
1700446357
1700446358 return null;
1700446359
1700446360 }
1700446361
1700446362 }
1700446363
1700446364 这是最原始的工厂方法模式,有两个产品:福特汽车和别克汽车,然后通过工厂方法模式来生产。有了工厂方法模式,我们就不用关心一辆车具体是怎么生成的了,只要告诉工厂“给我生产一辆福特汽车”就可以了,下面是产出一辆福特汽车时客户端的代码:
1700446365
1700446366 public static void main(String[]args){
[ 上一页 ]  [ :1.700446317e+09 ]  [ 下一页 ]