设计模式-抽象工厂模式

来源:互联网 发布:梯度下降算法 matlab 编辑:程序博客网 时间:2024/06/08 18:14
10、抽象工厂模式(Abstract Factory):提供了一个创建一系列相关或相互依赖对象的接口
而无需指定它们具体的类。它最大的好处是易于交换产品系列,例如数据库的更换,开发了一个项目
有的客户要使用MySql,有的可能要使用Oracle。这种情况下我们就可以使用抽象工厂模式
/**
 * 抽象工厂类
 */
public interface IFactory {


IUser createUser();


IDepartment creatteDepartment();
}
/**
 * Project Name:pattern_01
 * File Name:MySqlFactory.java
 * Package Name:org.jiajun.pattern.test10
 * Date:2017年4月27日下午5:00:48
 * Copyright @ 2010-2017 河南乐享教育科技股份有限公司  All Rights Reserved.
 *
*/


/**
 * MySql数据工厂
 */
public class MySqlFactory implements IFactory {


@Override
public IUser createUser() {
return new MySqlUser();
}


@Override
public IDepartment creatteDepartment() {
return new MySqlDepartment();
}


}
/**
 * 用户数据访问接口
 */
public interface IUser {
void insert(User e);


User getUser(int id);
}
//测试用例
public class TestCase {


public static void main(String[] args) {
IFactory factory = new MySqlFactory();
factory.createUser().insert(null);
}
}
0 0