抽象工廠模式

文檔查閱說明:

Tongkey

yiibai

runoob

大話設計模式

定義:爲創建一組相關或相互依賴的對象提供一個接口,而且無須指定它們的具體類

使用場景:

● QQ 換皮膚,一整套一起換;

● 生成不同操作系統的程序

public 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;
	}
}
public interface IUser {

	void insert(User user);
	User getUser(int id);
}
public class AccessUser implements IUser {

	@Override
	public void insert(User user) {
		System.out.println("access: insert");
	}

	@Override
	public User getUser(int id) {
		System.out.println("access: getUserById");
		return null;
	}

}
public interface IFactory {

	IUser createUser();
}
public class AccessFactory implements IFactory {

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

}
public class SqlServerUser implements IUser {

	@Override
	public void insert(User user) {
		System.out.println("sqlserver: insert");
	}

	@Override
	public User getUser(int id) {
		System.out.println("sqlserver: getUserById");
		return null;
	}

}
public class SqlServerFactory implements IFactory {

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

}
public class Test {
	public static void main(String[] args) {
		User user = new User();
		IFactory factory = new SqlServerFactory();
		IUser iuser = factory.createUser();
		iuser.insert(user);
		iuser.getUser(1);
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章