전역 서비스의 하위 인 여러 서비스 (Spring MVC)가 있습니다. 그래서이 예제 여러 방법으로 가장 좋은 방법 (또는 의견)에 대해 알아야 할 :코드 반복과 읽기 가능
//Domain classes
public class MyParentObject{}
public class MyObj extends MyParentObject{}
//Services
public class MyParentObjectServiceImpl implements MyParentObjectService{
@Override
public MyParentObject findObjectByProp(String prop, String objectType){
//myCode (not abstract class)
}
}
public class MyObjServiceImpl extends MyParentObjectServiceImpl implements MyObjectService{
private myObjType = "MyObj";
@Override
public MyObj findMyObjByProp(String prop){
return (MyObj) super.findObjectByProp(prop, this.myObjType);
}
}
그리고이 방법에서,이 같은 통화를 사용
MyObj foo = myObjService.findMyObjByProp(prop);
그래서 필요 이 접근 방식이 "더 나은"것인지 아니면 두 번째 매개 변수를 사용하여 직접 부모 메서드를 직접 호출하는지 확인하십시오. 예 :
... 그리고 두 번째 방법의 생성을 피하십시오. 도메인 객체와 관련된 많은 코드가 있기 때문에 자녀 서비스가 어쨌든 만들어 질 것임을 아는 것이 중요합니다.
나는 더 읽기 쉽기 때문에 첫 번째 접근법이 더 좋다고 생각하지만,이 디자인을 동료들과 토론하기 위해 일부 문서, 블로그 또는 의견으로 그 결정을 지원해야합니다.
'MyObjServiceImpl'과 같은 형태의 자식이 여러 명있을 수 있습니까? 나는 당신의 타이틀에 언급 된 "반복"이 무엇을 의미하는지 알아 내려고 노력하고 있습니다. 자식이 여러 명이면'findMyObjByProp'이 어떻게 반복적인지 알 수 있습니다. 그러나 그 문제를 둘러싼 또 다른 방법이있을 수 있습니다. – ajb
예! 나는 MyObjServiceImpl : MyObjServiceImpl ... bla bla를 많이 가지고있다. MyParentObject의 하위 객체 인 10 개의 다른 객체처럼 – MarcosTonina