java设计模式——抽象工厂模式
来源:互联网 发布:防止sql注入的原理 编辑:程序博客网 时间:2024/06/05 19:19
《大话设计模式》第十五章
package ch15;public class User {private int id;private String name;public User(String name) {this.name = name;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
package ch15;public interface IUser {void insert(User user);User getUser(int id);}
package ch15;public class AccessUser implements IUser {public void insert(User user) {System.out.println("在Access里插入" + user.getName());}public User getUser(int id) {System.out.println("在Access里根据ID得到User");return null;}}
package ch15;public class SqlserverUser implements IUser {public void insert(User user) {System.out.println("在SQL Server里插入" + user.getName());}public User getUser(int id) {System.out.println("在SQL Server里根据ID得到User");return null;}}
package ch15;public interface IFactory {IUser createUser();}
package ch15;public class AccessFactory implements IFactory {public IUser createUser() {return new AccessUser();}}
package ch15;public class SqlserverFactory implements IFactory {public IUser createUser() {return new SqlserverUser();}}
package ch15;/** * 抽象工厂模式 * @author Administrator * */public class Client {/** * @param args */public static void main(String[] args) {User user = new User("X");IFactory factory = new SqlserverFactory();IUser iu = factory.createUser();iu.insert(user);iu.getUser(0);}}
抽象工厂模式和工厂方法模式很像,那么有什么区别吗?
工厂方法,返回一个具体的类型,比如Integer.valueOf,返回的是Integer的实例,而且Integer不是抽象类,是可以实例化的;
抽象工厂方法,返回的可能是任何的类型,Calendar.getInstance,返回的可能是BuddhistCalendar,也可能是JapaneseImperialCalendar,也可能是GregorianCalendar,而且Calendar是抽象类,不能实例化。
- <Java设计模式>—抽象工厂模式
- Java设计模式—工厂方法模式&抽象工厂模式
- Java设计模式—工厂方法模式&抽象工厂模式
- 设计模式——抽象工厂 [java]
- JAVA设计模式——抽象工厂
- Java设计模式—抽象工厂
- java设计模式——抽象工厂模式
- JAVA设计模式学习6——抽象工厂模式
- JAVA设计模式(三)——抽象工厂模式
- Java设计模式 —— 抽象工厂模式 (Abstract Factory)
- java设计模式——抽象工厂模式
- Java设计模式之——抽象工厂模式
- java设计模式(二)——抽象工厂模式
- java创建型设计模式——抽象工厂模式
- JAVA设计模式 — 抽象工厂模式(Abstract Factory)
- 讲故事,学(Java)设计模式—抽象工厂模式
- java设计模式学习—抽象工厂模式
- Java设计模式——工厂模式(简单工厂、工厂方法 、抽象工厂 )
- [HNOI2012]三角形覆盖问题
- hdu 1395-2^x mod n = 1-易超时
- java web log4j配置
- Sstruts1和struts2的区别
- 打造ubuntu超赞图形界面(测试环境:ubuntu12.04)
- java设计模式——抽象工厂模式
- 程序员面试什么最重要?
- 使用m2eclipse插件创建web maven项目
- UVa 10946 Do You What Filled? (DFS)
- js object
- boost库在工作(9)引用计数的智能指针shared_ptr之二
- android读取json array
- TSM实施怪异考
- 自己做了一款新浪博客自动访客工具