디자인 모드 독서노트의 간단한 공장 모드(Factory)

이 글은 순전히 뒤의 공장 방법과 추상적인 공장을 비교하고 깔기 위한 것이다. 왜냐하면 간단한 공장은 간단한 창조와 귀환 대상이기 때문에 복잡한 구조와 논리가 없기 때문이다.
가장 흔히 볼 수 있는dao를 예로 들다.User 대상은 UserDao 인터페이스가 있고 UserDao는 실현 클래스 UserOracledao, UserDB2Dao가 있습니다.
 
특징: 공장 내에 논리적 판단을 포함하고 고객의 선택 동태 실례화와 관련된 유형을 포함한다.
장점: 대상의 창설을 공장에 집중시킨다.
단점:...
//    
package designpattern.factory;
public class User {
//......
}
//dao  
package designpattern.factory;
public interface UserDao {
	public void insert(User u);
	public void DeleteById(String id);
}
//dao   
package designpattern.factory;
public class UserOracleDao implements UserDao{
	public void DeleteById(String id) {
		System.out.println("delete an user in oracle db.");
	}

	public void insert(User u) {
		System.out.println("add an user in oracle db.");
	}
}
//dao   
package designpattern.factory;

public class UserDB2Dao implements UserDao{
	public void DeleteById(String id) {
		System.out.println("delete an user in DB2 db.");
	}

	public void insert(User u) {
		System.out.println("add an user in DB2 db.");
	}

}
//dao  
package designpattern.factory.simple;
import designpattern.factory.*;
public class UserDaoFactory {
	public static UserDao createUserDao(String type){
		if("ORACLE".equals(type)){
			return new UserOracleDao();
		}
		else if("DB2".equals(type)){
			return new UserDB2Dao();
		}
		else{
			return null;
		}
	}
}

좋은 웹페이지 즐겨찾기