首页 > 代码库 > 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设计模式之工厂模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。