抽象工厂模式
抽象工厂模式其实是工厂方法模式的叠加,用来实例化一组产品族。
Product接口
package com.life.factory; public interface Computer { void start(); }
package com.life.factory; public interface Phone { void use(); }
Product实现类
package com.life.factory; public class MacComputer implements Computer { public MacComputer() { System.out.println("MacComputer实例化了"); } @Override public void start() { System.out.println("欢迎使用苹果电脑"); } }
package com.life.factory; public class MacPhone implements Phone { public MacPhone() { System.out.println("苹果手机已经实例化"); } @Override public void use() { System.out.println("欢迎购买苹果手机"); } }
Factory接口
package com.life.factory; public interface ElectronicsFactory { Computer createComputer(); Phone createPhone(); }
Factory实现类
package com.life.factory; public class MacElectronicsFactory implements ElectronicsFactory { @Override public Computer createComputer() { MacComputer macComputer = new MacComputer(); return macComputer; } @Override public Phone createPhone() { MacPhone macPhone = new MacPhone(); return macPhone; } }
Client类
package com.life.factory; import com.life.Util; public class Client { public static void main(String[] args) { String type = "macElectronicsFactory"; ElectronicsFactory factory = (ElectronicsFactory) Util.getBean(type); Computer computer = factory.createComputer(); computer.start(); Phone phone = factory.createPhone(); phone.use(); } }
浙公网安备 33010602011771号