设计模式学习四:简单工厂模式
一.概念
???? 简单工厂模式是属于创建型模式,又叫做静态工厂方法(StaticFactory Method)模式。
?
二.实例分析
??? 现需要一个cpu,各大厂家都能生成,我们到底选哪家呢。

?
???? CPU
package com.zzy.simpleFactory;/** * CPU接口 * @author eason * */public interface CPU {public void work();}?
???? SamSungCPU
package com.zzy.simpleFactory;/** * 三星CPU * @author eason * */public class SamSungCPU implements CPU{@Overridepublic void work() {System.out.println("三星CPU is working...");}}?
???? SeagateCPU
package com.zzy.simpleFactory;/** * 希捷CPU * @author eason * */public class SeagateCPU implements CPU{@Overridepublic void work() {System.out.println("希捷CPU is working...");}}?
???? WDCPU
package com.zzy.simpleFactory;/** * 西数CPU * @author eason * */public class WDCPU implements CPU{@Overridepublic void work() {System.out.println("西数CPU is working...");}}?
???? CPUFactory
package com.zzy.simpleFactory;/** * 简单工厂 * @author eason * */public class CPUFactory {public static CPU createCPU(Company company) {CPU cpu = null;switch(company) {case WD :cpu = new WDCPU();break;case SamSung :cpu = new SamSungCPU();break;case Seagate :cpu = new SeagateCPU();break;}return cpu;}}enum Company {WD, SamSung, Seagate}?
???? TestSimpleFactory
package com.zzy.simpleFactory;/** * 测试类 * @author eason * */public class TestSimpleFactory {public static void main(String[] args) {CPU cpu = CPUFactory.createCPU(Company.WD);cpu.work();}}?
三.简单工厂模式的产品等级与产品族
?

?