2009-03-31 2 views
1

객체 지향 구조의 정보 흐름에 관한 질문. 컨트롤러에서 저장소로.모델 객체를 항상 처리하거나 정보 비트가 이동하도록 허용 하시겠습니까?

전달 된 객체가 항상 모델에 있어야합니까? 아니면 더 작은 부분의 정보를 허용해야합니까?

무엇을 권하고 싶습니까? 접근 방식을 결정 짓는 요인은 무엇입니까?

예.

 
Controller: 
    string alias = "alpha"; 
    Member member = Repository.GetMemberByAlias(alias); 
    bool aliasExists = member != null; 
Repository: 
    Member GetMemberByAlias(string alias); 

답변

1

같은

 
Controller: 
    string alias = "alpha"; 
    bool aliasExists = Repository.CheckIfAliasExists(alias) 
Repository: 
    bool CheckIfAliasExists(string alias); 

이나 뭐 같은이 꽤 주관적 될 수 있습니다,하지만 난 결정이 내려 두 개의 아이디어를 끓일 필요하다고 생각 :에만 목적을 위해 전체 개체를 검색하는 성능 존재를 결정하는 것, 그리고 객체 - 특정 정보가 더 큰 범위에 도달하게하는 아이디어.

일부는이 식별 정보를 더 많이 사용하도록 응용 프로그램을 허용하면 개체 모델을 우회 할 수있는 가능성이 높아 지지만 일반적으로 이러한 경우에는 성능 측면에서 오류가 발생한다고 주장합니다.

내 구체적인 조언은 이전 접근 방식을 사용하는 것입니다.하지만 후자를 무효화하지는 마십시오.

관련 문제