디자인 모드 독서노트의 간단한 공장 모드(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;
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Spring에서 DAO가 순환 호출될 때 데이터가 실시간으로 업데이트되지 않는 해결 방법문제를 설명하기 전에 몇 가지 전제 사항을 설명하십시오. Spring의 구성 파일에서 다음과 같은 방식으로 데이터베이스 트랜잭션을 구성했다고 가정하십시오. 현재 UserDao 및 Security Service가 있습...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.