내 childClass 메서드 getInfoFromDB() 및 saveToDB()가 다른 논리를 수행해야하는 경우 childClass를 만드는 방법을 알고 있을까요?템플릿 메서드 패턴
public abstract class BaseClass {
public abstract Object doTransaction();
public Object executeTrans() {
//do something
tx.begin();
this.doTransaction();
tx.commit();
}
}
public childClass extends BaseClass{
@Override
public Object doTransaction(){
//overide to get something from database so can only be used for getInfoFromDB() and not for saveToDB()
return something;
}
public List<String> getInfoFromDB(){
super.executeTrans();
}
public void saveToDB(){
super.executeTrans() ;
}
}
pls는이 날 수정) 라이프 사이클 괜찮이다. childClass가 BaseClass를 확장하도록함으로써; saveToDB() 및 getInfoFromDB()에 대한 executeTrans() 메서드는 동일한 executeTrans()의 tx.begin 및 tx.close()를 호출합니다. 괜찮을까요? 아니면 별도의 새로운 인스턴트 여야합니까? – cometta
나는 "템플릿"유형이 무엇인지 알 수 있습니까? – cometta
이 템플릿 클래스입니다. -> class Template() {public void doTransaction() {}; }? – cometta