设计模式读书笔记之简单工厂模式(Factory)
这篇文章纯属为了后面的工厂方法和抽象工厂做对比和铺垫, 因为简单工厂就是简单的创造并返回对象, 没有复杂的结构和逻辑.以最常见的dao为例。User对象有UserDao接口,UserDao有实现类UserOracleDao,UserDB2Dao。
特点: 工厂内包含了逻辑判断,根据客户的选择动态实例化相关的类。
优点: 把对象的创建集中放在工厂中.
缺点: ......
//业务模型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;}}}
页:
[1]