DB에서 정보를 가져 오기 위해 2 개의 별도 DAO를 호출하는 Bean 클래스가 있습니다. 이클래스 변수 대 로컬 변수
class InfoRetriever {
public String retrieveInfo(int arg1, int arg2){
String info = retrieveFirstInfo(arg1 , arg2);
if(info.equals("xyz")){
retrieveSecondInfo(arg1, arg2);
}
}
private String retrieveFirstInfo(int arg1,String arg2){
// call DB to get info
}
private String retrieveSecondInfo (int arg1, String arg2) {
// call DB to get info
}
}
내 질문에 내가 회원 요소로 ARG1과 ARG2를 이동하는 선택의 여지가와 retrieveFirstInfo 및 retrieveSecondInfo를 호출하기 전에 그들을 설정할 수있는 구조를합니다. 정보를 멤버 변수로 만들 수도 있습니다.
변수를 메소드와 클래스 변수에 대해 로컬로 유지할 수있는 경우 고려해야 할 트레이드 오프는 무엇입니까?
트레이드 오프 이상으로, 이러한 인수가 실제로 클래스의 구성원이되어야하는지 고려해야합니다. 그들은 거기에 속해 있습니까? 그들은 물건의 상태를 유지하기로되어 있습니까? 그렇다면, 분명히 필드를 만듭니다. –
@rohit - 내 질문이 무엇인지. 이제는 다소 서비스/관리자 클래스입니다. 이것들은 엔티티/실세계 객체가 아니기 때문에 추상화를 식별하기가 어렵습니다. –
그렇다면 그대로 두겠습니다. 인수로 전달할 때 멤버 변수로 적합하지 않으면 잘못된 것은 없습니다. 또한, 당신의'retrieveInfo' 메쏘드는 호출자의 권한을 받아 들일 것입니다. 구문을 확인하십시오. '()'이 없습니다. –