注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

东东的博客

江南烟雨,同大家一起分享

 
 
 

日志

 
 

设计模式读书笔记之工厂方法模式(Factory method)  

2010-07-13 18:03:00|  分类: 设计模式相关 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

拿前面的简单工厂的例子作案例.把简单工厂改造成工厂方法.


view plaincopy to clipboardprint?
//工厂接口  
package designpattern.factory.factorymethod;  
import designpattern.factory.*;  
public interface IFactory {  
    public UserDao createUserDao();  
}  
//DB2Dao工厂   
package designpattern.factory.factorymethod;  
import designpattern.factory.*;  
public class DB2DaoFactory implements IFactory{  
    public UserDao createUserDao() {  
        return new UserDB2Dao();  
    }  
}  
//OracleDao工厂  
package designpattern.factory.factorymethod;  
import designpattern.factory.*;  
public class OracleDaoFactory implements IFactory{  
    public UserDao createUserDao() {  
        return new UserOracleDao();  
    }  
}  
//test case  
package designpattern.factory.factorymethod;  
import designpattern.factory.*;  
public class Test {  
    public static void main(String[] args) {  
        IFactory f = new DB2DaoFactory();  
        UserDao userDao = f.createUserDao();  
        userDao.insert(new User());  
        userDao.DeleteById("123456");  
    }  
}   

特点: 有一个工厂序列, 工厂序列中各个工厂负责创建具体的对象.

与简单工厂的区别: 工厂方法把对象的实例化推迟到子类中. 把选择权交给客户代码来做.


转自:http://blog.csdn.net/sunxing007/archive/2010/03/22/5405604.aspx

  评论这张
 
阅读(408)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017