Java注册工厂模式案例
来源:互联网 发布:js将字符串转换成json 编辑:程序博客网 时间:2024/06/05 20:13
public Interface factory<T>{ T create();}package chapter14.factory;import java.util.ArrayList;import java.util.List;import java.util.Random;class Part{public String toString(){return getClass().getSimpleName();}static List<Factory<? extends Part>> partFactory = new ArrayList<Factory<? extends Part>>();static{partFactory.add(new FuelFillter.Factory());partFactory.add(new OilFillter.Factory());partFactory.add(new CabinFillter.Factory());partFactory.add(new AxBlet.Factory());partFactory.add(new BxBlet.Factory());}public static Random rand = new Random(47);public static Part createRandom(){int n = rand.nextInt(partFactory.size());return partFactory.get(n).create();}}class Fillter extends Part{}class FuelFillter extends Fillter{public static class Factory implements chapter14.factory.Factory<FuelFillter>{public FuelFillter create(){ return new FuelFillter();}}}class AirFillter extends Fillter{public static class Factory implements chapter14.factory.Factory<AirFillter>{public AirFillter create(){ return new AirFillter();}}}class CabinFillter extends Fillter{public static class Factory implements chapter14.factory.Factory<CabinFillter>{public CabinFillter create(){ return new CabinFillter();}}}class OilFillter extends Fillter{public static class Factory implements chapter14.factory.Factory<OilFillter>{@Overridepublic OilFillter create() {// TODO Auto-generated method stubreturn new OilFillter();}}}class Blet extends Part{}class AxBlet extends Part{public static class Factory implements chapter14.factory.Factory<AxBlet>{@Overridepublic AxBlet create() {return new AxBlet();}}}class BxBlet extends Part{public static class Factory implements chapter14.factory.Factory<BxBlet>{@Overridepublic BxBlet create() {return new BxBlet();}}}public class RegisteredFactory {public static void main(String[] args){for(int i=0;i<10;i++){System.out.println(Part.createRandom());}}}
0 0
- Java注册工厂模式案例
- java工厂模式实战案例
- [工厂模式]JAVA设计模式 – 工厂模式的案例
- java实现的注册工厂模式
- 工厂模式案例
- 工厂方法模式案例
- 抽象工厂模式案例
- 注册工厂模式
- java-登陆注册案例
- 工厂模式的简单案例
- 设计模式案例--工厂模式--简单工厂(静态工厂)(simplefactory)
- Thingking in Java 注册工厂
- 设计模式案例--工厂模式--工厂方法(factory method)
- 设计模式案例--工厂模式--抽象工厂(abstractfactory)
- java工厂模式-简单工厂,工厂方法,抽象工厂模式
- 抽象工厂模式(Abstract Factory)案例分析
- 工厂方法模式(Factory Methond)案例分析
- 抽象工厂模式学习案例代码
- QWidget、QDialog、QMainWindow的区别
- 前端开发40款优秀的CSS代码编写工具
- mysql查询某字段的多条结果展示成按逗号隔开
- 不定期更新,记录和分享一些心得
- 什么是互联网安全
- Java注册工厂模式案例
- thinkPHP总结
- Android Shared Preferences 安全性
- WinForm连接数据库(SQL Server 2008)
- 6维数组下标到1维线性内存地址的相互映射
- 我想对神吐槽
- [Qt Bug修复]关于Qt窗口设置为FrameHintLess后不能最小化
- [字符串][第二阶段-字符串处理][HDOJ-2093]考试排名
- [Raspberry Pi] 1 无线网卡安装