首页 > 代码库 > Android设计模式之工厂模式

Android设计模式之工厂模式

时间紧迫,关于工厂模式的内容有点多,要讲的话大致分为简单工厂模型,工厂方法模型,抽象工厂模型

 

这里 ,我就大概讲一下简单工厂模型,也是我们实际开发中用的相对比较多的

 

第一步,先创建工厂接口,也就是规定这个工厂是干嘛的:

 1 /* 2 * 创  建  者: ouyangshengduo 3 * 创建时间: 2017年3月31日 4 * 文件名称: HairInterface.java 5 * 版权信息: 2017 Edan. All rights reserved.  6 * 文件描述: 发型接口 7 */ 8 package com.oysd.model.factory; 9 10 public interface HairInterface {11     12     //实现了发型13     public void draw();14 15 }

 

第二步,实现不同产品具体内容

 1 /* 2 * 创  建  者: ouyangshengduo 3 * 创建时间: 2017年3月31日 4 * 文件名称: LeftHair.java 5 * 版权信息: 2017 Edan. All rights reserved.  6 * 文件描述:  7 */ 8 package com.oysd.model.factory; 9 10 public class LeftHair implements HairInterface {11 12     /**13      * 画一个左偏分发型14      */15     @Override16     public void draw() {17         // TODO Auto-generated method stub18 19         System.out.println("-----------实现了一个左偏分发型-----------");20     }21 22 }
 1 /* 2 * 创  建  者: ouyangshengduo 3 * 创建时间: 2017年3月31日 4 * 文件名称: RightHair.java 5 * 版权信息: 2017 Edan. All rights reserved.  6 * 文件描述:  7 */ 8 package com.oysd.model.factory; 9 10 public class RightHair implements HairInterface {11 12     13     /**14      * 画一个右偏分的发型15      */16     @Override17     public void draw() {18         // TODO Auto-generated method stub19         System.out.println("-----------实现了一个右偏分发型-----------");20     }21 22 }

创建工厂类

 1 /* 2 * 创  建  者: ouyangshengduo 3 * 创建时间: 2017年3月31日 4 * 文件名称: HairFactory.java 5 * 版权信息: 2017 Edan. All rights reserved.  6 * 文件描述:  7 */ 8 package com.oysd.model.factory; 9 10 public class HairFactory {11     12     /**13      * 发型对象实例的创建工厂14      * @param key15      * @return16      */17     public static HairInterface newClass(String key){18         HairInterface hair = null;19         switch(key){20         case "right":21             hair = new RightHair();22             break;23         case "left":24             hair = new LeftHair();25             break;26         default:27             break;28         29         }30         return hair;31     }32 33 }

 

测试类:

 1 /* 2 * 创  建  者: ouyangshengduo 3 * 创建时间: 2017年3月31日 4 * 文件名称: Client.java 5 * 版权信息: 2017 Edan. All rights reserved.  6 * 文件描述: 测试类 7 */ 8 package com.oysd.model.factory; 9 10 public class Client {11 12     public static void main(String[] args) {13         // TODO Auto-generated method stub14         15         HairInterface hair = HairFactory.newClass("right");16         17         hair.draw();18 19     }20 21 }

 

Android设计模式之工厂模式