设计模式-抽象工厂 发表于 2018-11-16 | 更新于 2020-05-17 | 分类于 架构 目的 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849Sample:Interface IComputerFactory{ createMouse(); createOS();};Class Mouse{};Class OS{};//微软鼠标Class MicrosoftMouse extends Mouse{};//苹果鼠标Class AppleMouse extends Mouse{};//微软系统Class MicrosoftOS extends OS{};//苹果系统Class AppleOS extends OS{};Class MicrosoftFactory implements IComputerFactory{ Mouse createMouse(){ Return new MicrosoftMouse();//创建相应的鼠标品牌 }; OS createOS();}; ClassAppleFactory implementsI IComputerFactory{ Mouse createMouse(){ Return new AppleMouse();//创建相应的鼠标品牌 }; OS createOS();};Classclient{ //具体工厂的抽象接口作为参数传入 createComputer(ComputerFactory factory){ //动态绑定到具体工厂,具体工厂生产相应的鼠标品牌 Mouse mouse = factory.createMouse(); OS os = factory.createOS(); }};