抽象工厂模式

抽象工厂模式

原:
package java1;

import java.util.*;
class User{
	private int id;
	private String 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;}
}
 class SqlserverUser{
	 public void Insert(User user) {
		 System.out.println("增加");
	 }
	 public User GetUser(int id) {
		 System.out.println("输出");
		 return null;
	 }
 }
public class Java1{
	public static void main(String[] args) {
		User user=new User();
		SqlserverUser su=new SqlserverUser();
		su.Insert(user);
		su.GetUser(1);
		
	}
}
改:
package java1;

import java.util.*;
class User{
	private int id;
	private String 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;}
}
 interface IUser{
	 void Insert(User user);
	 User GetUser(int id) ;
 }
 class SqlserverUser implements IUser{
	 public void Insert(User user) {
		 System.out.println("增加");
	 }
	 public User GetUser(int id) {
		 System.out.println("输出");
		 return null;
	 }
 }
 class AccessUser implements IUser{
	 public void Insert(User user) {
		 System.out.println("增加");
	 }
	 public User GetUser(int id) {
		 System.out.println("输出");
		 return null;
	 }
 }
  interface IFactory{
	  IUser CreateUser();
  }
  class SqlserverFactory implements IFactory{
	public  IUser CreateUser() {
		  return new SqlserverUser();
	  }
  }
class AccessFactory implements IFactory{
	public  IUser CreateUser() {
		  return new AccessUser();
	  }
  }
public class Java1{
	public static void main(String[] args) {
		User user=new User();
		IFactory factory=new SqlserverFactory(); //若修改 改这里
		IUser iu=factory.CreateUser();
		iu.Insert(user);
		iu.GetUser(1);
		
	}
}
原(增加部门):
package java1;

import java.util.*;
class Department{
	private int id;
	private String deptName;
	public String getDeptName() {return deptName;}
	public void setId(int id) {this.id=id;}
	public int getId() { return id;}
	public void setDeptName(String name) {this.deptName=name;}
}
class User{
	private int id;
	private String 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;}
}
 interface IUser{
	 void Insert(User user);
	 User GetUser(int id) ;
 }
 interface IDepartment{
	 void Insert(Department department);
	 Department GetDepartment(int id);
 }
 class SqlserverDepartment implements IDepartment{
	 public void Insert(Department department) {
		 System.out.println("增加");
	 }
	 public Department GetDepartment(int id) {
		 System.out.println("输出");
		 return null;
	 }
 }
 class AccessDepartment implements IDepartment{
	 public void Insert(Department department) {
		 System.out.println("增加");
	 }
	 public Department GetDepartment(int id) {
		 System.out.println("输出");
		 return null;
	 }
 }
 class SqlserverUser implements IUser{
	 public void Insert(User user) {
		 System.out.println("增加");
	 }
	 public User GetUser(int id) {
		 System.out.println("输出");
		 return null;
	 }
 }
 class AccessUser implements IUser{
	 public void Insert(User user) {
		 System.out.println("增加");
	 }
	 public User GetUser(int id) {
		 System.out.println("输出");
		 return null;
	 }
 }
  interface IFactory{
	  IUser CreateUser();
	  IDepartment CreateDepartment();
  }
  class SqlserverFactory implements IFactory{
	public  IUser CreateUser() {
		  return new SqlserverUser();
	  }
	public  IDepartment CreateDepartment() {
		  return new SqlserverDepartment();
	  }
  }
class AccessFactory implements IFactory{
	public  IUser CreateUser() {
		  return new AccessUser();
	  }
	public  IDepartment CreateDepartment() {
		  return new SqlserverDepartment();
	  }
  }
public class Java1{
	public static void main(String[] args) {
		IFactory factory=new SqlserverFactory(); 
		
		User user=new User();
		IUser iu=factory.CreateUser();
		iu.Insert(user);
		iu.GetUser(1);
		
		Department department=new Department();
		IDepartment ic=factory.CreateDepartment();
		ic.Insert(department);
		ic.GetDepartment(1);
		
	}
}
改:
package java1;

import java.util.*;
class Department{
	private int id;
	private String deptName;
	public String getDeptName() {return deptName;}
	public void setId(int id) {this.id=id;}
	public int getId() { return id;}
	public void setDeptName(String name) {this.deptName=name;}
}
class User{
	private int id;
	private String 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;}
}
 interface IUser{
	 void Insert(User user);
	 User GetUser(int id) ;
 }
 interface IDepartment{
	 void Insert(Department department);
	 Department GetDepartment(int id);
 }
 class SqlserverDepartment implements IDepartment{
	 public void Insert(Department department) {
		 System.out.println("增加");
	 }
	 public Department GetDepartment(int id) {
		 System.out.println("输出");
		 return null;
	 }
 }
 class AccessDepartment implements IDepartment{
	 public void Insert(Department department) {
		 System.out.println("增加");
	 }
	 public Department GetDepartment(int id) {
		 System.out.println("输出");
		 return null;
	 }
 }
 class SqlserverUser implements IUser{
	 public void Insert(User user) {
		 System.out.println("增加");
	 }
	 public User GetUser(int id) {
		 System.out.println("输出");
		 return null;
	 }
 }
 class AccessUser implements IUser{
	 public void Insert(User user) {
		 System.out.println("增加");
	 }
	 public User GetUser(int id) {
		 System.out.println("输出");
		 return null;
	 }
 }
  class DataAccess{
	  private static  String db="Sqlserver";
	  public static IUser CreateUser() {
		  IUser result =null;
		  switch(db) {
		  case "Sqlserver":
			  result=new SqlserverUser();
		  case "Access":
			  result=new AccessUser();
		  }
		  return result;
	  }
	  
	  public static IDepartment CreateDepartment() {
		  IDepartment result =null;
		  switch(db) {
		  case "Sqlserver":
			  result=new SqlserverDepartment();
		  case "Access":
			  result=new AccessDepartment();
		  }
		  return result;
	  }
  }
public class Java1{
	public static void main(String[] args) {
		
		
		User user=new User();
		IUser iu=DataAccess.CreateUser();
		iu.Insert(user);
		iu.GetUser(1);
		
		Department department=new Department();
		IDepartment ic=DataAccess.CreateDepartment();
		ic.Insert(department);
		ic.GetDepartment(1);
		
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值