抽象工厂模式(Abstract Factory) Java

来源:互联网 发布:淘宝最稀奇暴利产品. 编辑:程序博客网 时间:2024/06/05 23:55






I.定义

提供一个创建一系列相关或相互依赖的接口,而无需指定它们具体的类。
为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。



I.类图




I.代码

调用类

package ding.study.designpatterns.abstratfactory;/** * I.定义:提供一个创建一系列相关或相互依赖的接口,而无需指定它们具体的类。为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。输出结果Oracle insert UserOracle get UserOracle insert DepartmentOracle get DepartmentMysql insert UserMysql get UserMysql insert DepartmentMysql get Department * @author daniel * @email 576699909@qq.com * @time 2016-6-17 上午10:35:58 */public class Zmain {/** * @author daniel * @time 2016-6-17 上午10:29:44 * @param args */public static void main(String[] args) {// 准备实体对象User user = new User();Department department = new Department();// Oracle版本的工厂FactoryService factory = new FactoryServiceOracleImpl();// Oracle版本的接口UserService userService = factory.getUserService();DepartmentService departmentService = factory.getDepartmentService();// Oracle版本的执行userService.insertUser(user);userService.getUser(1);departmentService.insertDepartment(department);departmentService.getDepartment(1);// Mysql版本的工厂factory = new FactoryServiceMysqlImpl();// Mysql版本的接口userService = factory.getUserService();departmentService = factory.getDepartmentService();// Mysql版本的执行userService.insertUser(user);userService.getUser(1);departmentService.insertDepartment(department);departmentService.getDepartment(1);}}


不贴代码了:

 https://github.com/dingsai88/StudyTest/tree/master/src/ding/study/designpatterns/abstratfactory



I.输出结果





2 0
原创粉丝点击