设计模式学习--抽象工厂

来源:互联网 发布:软件专利实例 编辑:程序博客网 时间:2024/05/21 00:19

目的

提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。




Sample:

InterfaceIComputerFactory{

createMouse();

createOS();

};

 

ClassMouse{};

 

ClassOS{};

//微软鼠标

Class MicrosoftMouse extends Mouse{};

 

//苹果鼠标

ClassAppleMouse extends Mouse{};

 

//微软系统

Class MicrosoftOS extends OS{};

 

//苹果系统

Class AppleOS extends OS{};

 

ClassMicrosoftFactory 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();

}

};

0 0
原创粉丝点击