디자인 모드 독서 노트 의 공장 방법 모드 (Factory method)

앞의 간단 한 공장 의 예 를 들 어 사례 를 들 어 간단 한 공장 을 공장 방법 으로 개조 하 다.
//    
package designpattern.factory.factorymethod;
import designpattern.factory.*;
public interface IFactory {
	public UserDao createUserDao();
}
//DB2Dao   
package designpattern.factory.factorymethod;
import designpattern.factory.*;
public class DB2DaoFactory implements IFactory{
	public UserDao createUserDao() {
		return new UserDB2Dao();
	}
}
//OracleDao  
package designpattern.factory.factorymethod;
import designpattern.factory.*;
public class OracleDaoFactory implements IFactory{
	public UserDao createUserDao() {
		return new UserOracleDao();
	}
}
//test case
package designpattern.factory.factorymethod;
import designpattern.factory.*;
public class Test {
	public static void main(String[] args) {
		IFactory f = new DB2DaoFactory();
		UserDao userDao = f.createUserDao();
		userDao.insert(new User());
		userDao.DeleteById("123456");
	}
}

특징: 하나의 공장 서열 이 있 고 공장 서열 에서 각 공장 은 구체 적 인 대상 을 만 드 는 것 을 책임 진다.
간단 한 공장 과 의 차이: 공장 방법 은 대상 의 실례 화 를 하위 클래스 로 미 루 고 선택권 을 고객 코드 에 맡긴다.
 

좋은 웹페이지 즐겨찾기