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

东东的博客

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

 
 
 

日志

 
 

设计模式读书笔记之简单工厂模式(Factory)  

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

  下载LOFTER 我的照片书  |

这篇文章纯属为了后面的工厂方法和抽象工厂做对比和铺垫。

以最常见的dao为例。User对象有UserDao接口,UserDao有实现类UserOracleDao,UserDB2Dao。


view plaincopy to clipboardprint?
//业务模型  
package designpattern.factory;  
public class User {  
//......  
}  
//dao接口  
package designpattern.factory;  
public interface UserDao {  
    public void insert(User u);  
    public void DeleteById(String id);  
}  
//dao实现类  
package designpattern.factory;  
public class UserOracleDao implements UserDao{  
    public void DeleteById(String id) {  
        System.out.println("delete an user in oracle db.");  
    }  
  
    public void insert(User u) {  
        System.out.println("add an user in oracle db.");  
    }  
}  
//dao实现类  
package designpattern.factory;  
  
public class UserDB2Dao implements UserDao{  
    public void DeleteById(String id) {  
        System.out.println("delete an user in DB2 db.");  
    }  
  
    public void insert(User u) {  
        System.out.println("add an user in DB2 db.");  
    }  
  
}  
//dao工厂  
package designpattern.factory.simple;  
import designpattern.factory.*;  
public class UserDaoFactory {  
    public static UserDao createUserDao(String type){  
        if("ORACLE".equals(type)){  
            return new UserOracleDao();  
        }  
        else if("DB2".equals(type)){  
            return new UserDB2Dao();  
        }  
        else{  
            return null;  
        }  
    }  
}  

特点: 工厂内包含了逻辑判断,根据客户的选择动态事例化相关的类。

优点: 把对象的创建集中放在工厂中.

缺点: ......


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

  评论这张
 
阅读(382)| 评论(1)
推荐 转载

历史上的今天

评论

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

页脚

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