java 之 抽象工厂模式(大话设计模式)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java 之 抽象工厂模式(大话设计模式),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1950字,纯文字阅读大概需要3分钟。
内容图文
看了几次抽象工厂模式,每次查看都需要重新理解一次,可能是涉及的类和接口比较多,所以比较难缕清的关系吧!在笔者看来,我们还是要吸取其思想而不是生搬硬套。
来看下类图:
大话设计模式-类图
看类图已经很乱了,来简单的梳理下。我们只看接口,这样就不难看出实际上是抽象工厂生产抽象产品的过程,而具体实现都是各自的实现类来做。
看下具体的demo:
工厂层
/** * 工厂接口 */ public interface IFactory { public IUser createUser(); public IDepartment createDepartment(); }
/** * Mysql工厂 */ public class MysqlFactory implements IFactory{ @Override public IUser createUser() { returnnew UserMapper(); } @Override public IDepartment createDepartment() { returnnew DepartmentMapper(); } }
/** * sqlserver工厂 */ public class SqlServerFactory implements IFactory{ @Override public IUser createUser() { returnnew UserMapper(); } @Override public IDepartment createDepartment() { returnnew DepartmentMapper(); } }
产品层
/** * 部门层接口 */ public interface IDepartment { public int saveDepartment(Department department); public IDepartment getDepartment(int id); }
/** * 角色数据层接口 */ public interface IUser { public int saveUser(User user); public IUser getUser(int id); }
/** * 部门数据层 */ public class DepartmentMapper implements IDepartment{ @Override publicint saveDepartment(Department department) { System.out.println("保存了部门"); return 1; } @Override public IDepartment getDepartment(int id) { System.out.println("得到了一个部门"); returnnull; } }
/** * 角色数据层 */ public class UserMapper implements IUser { @Override publicint saveUser(User user) { System.out.println("保存Uer"); return 1; } @Override public IUser getUser(int id) { System.out.println("得到一个User"); returnnull; } }
客户端及实体类
/** *用户实体类 */ public class User{ }
/** * 部门实体类 */ public class Department { }
/** * 客户端 */ public class Test { public static void main(String[] args) { // IFactory factory = new MysqlFactory(); IFactory factory = new SqlServerFactory(); IUser userMapper = factory.createUser(); userMapper.getUser(userMapper.saveUser(new User())); } }
如果我们切换数据库,我们只需要切换工厂就可以了,其他的代码不需要改。
以上是笔者对抽象工厂的理解,希望能帮助学习抽象工厂的小伙伴!
原文:http://www.cnblogs.com/zhuxiansheng/p/7994137.html
内容总结
以上是互联网集市为您收集整理的java 之 抽象工厂模式(大话设计模式)全部内容,希望文章能够帮你解决java 之 抽象工厂模式(大话设计模式)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。