android设计模式--简单工场模式

注:学习来源来自于北风网的java设计模式视频教程,android源码设计模式解析和实战,head first设计模式

例1:

思路:

苹果类,包含获取苹果的方法。

香蕉类,包含获取香蕉的方法。

主类:创建苹果实例,香蕉实例,分别调用获取方法。
改进1:

有共同方法-》抽象出一个水果接口
改进2:

创建出一个水果工厂, 完成获取苹果,获取香蕉的行为。

优势:主类只需要创建一个工厂类即可。

改进3:

将水果工厂中的获取方法设置成静态。

优势:调用类不需要创建对象,可直接调用里面的方法。
改进4:

将工厂中的获取放到一个方法中,根据传入的类型获取不同的产品
改进5:

将工厂类中的获取方法由条件判断改为反射,可减少工厂代码的修改
缺点:传入的参数不灵活。

总结:所有的产品通过工厂来获取。

该模式缺陷,随着功能实例的扩充,需要不断的改写工厂类,代码繁多,(反射可解决,但传参麻烦)。
该部分代码已上传:
http://download.csdn.net/detail/mark_gsd/9699671

运用:

数据库分很多,比如mysql,oracle,等等。

使用JDBC时就用到了这种反射机制,如:通过Class.forName("com.mysql.jdbc.Driver")来获取mysql的具体实例来进行操作;
安卓源码中的简单工厂模式:

博客http://blog.csdn.net/qq_26222859/article/details/50497234

中就讲到了两种简单工厂模式的运用,可以自己参考。

同时另一篇论文http://m.w2bc.com/article/43693也有讲解。
同时将BitmapFactory写了一个运用的小demo:
http://download.csdn.net/detail/mark_gsd/9699765





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值