2013-03-19 7 views
5

이것은 기본적인 명명 규칙 문제이지만이 문제를 특별히 다룰 곳을 찾지 못했습니다.서비스 방법 명명 규칙

나는 Foo라는 클래스와 Bar라는 클래스를 가지고있다.

나는 Foo에 대한 모든 바를 검색하는 서비스 메소드가 있습니다. 내가 이름을 지정해야 :

GetFooBars(int fooId) 

또는

GetBarsForFoo(int fooId) 

확장하려면 다른 클래스, 예를 들어, 대한 바을 가질 수

GetMooBars(int mooId) 

또는

GetBarsForMoo(int mooId) 

답변

5

나는이

[DataContract] 
[KnownType(typeof(GetBarsByFooIdRequest))] 
[KnownType(typeof(GetBarsByMooIdRequest))] 
abstract class GetBarsRequest 
{ 
    .. 
} 

[DataContract] 
sealed class GetBarsByFooIdRequest : GetBarsRequest 
{ 
    [DataMember] 
    public int FooID { get; set; } 
} 

sealed class GetBarsByMooIdRequest : GetBarsRequest 
{ 
    [DataMember] 
    public int MooID { get; set; } 
} 

GetBarsResponse GetBars(GetBarsRequest); 
+0

감사합니다. "FooId"를 지정 하셨음을 감사드립니다. 내가 가지고있는 유일한 단서는 "For"보다는 "By"를 볼 때 FooId (또는 MooId)에 의해 분류되거나 분류 된 바가 많이 있다고 생각하게 만드는 것입니다. 또는 "For"를 볼 때 특정 FooId (또는 MooId)에 대한 모든 막대의 하위 집합을 얻게된다고 생각하게 만듭니다. –

+0

'GetBarsByFooId'와 같은 이름을 볼 때 "필터 기준"또는 "검색 기준"을 생각하게 만듭니다. 그것은 나에게 "그룹화"또는 "정렬 기준"을 의미 할 수도 없었습니다. 그러나 그것은 저의 것입니다 ... 당신이 매개 변수로'fooId'를 전달한다는 사실이 그 의도를 분명히해야한다고 생각합니다. –

2

내가 좋겠 통화를 지원하도록 API를 조정

GetBarsByFooId(int fooId) 

GetBarsByMooId(int mooId) 

또는을 ... 제안 오히려 한 오 사용 다음 내용을 참조하십시오.

GetBarsByFoo(int fooID) { } 

GetBarsByMoo(int mooID) { } 

GetBarsByFooId(int fooID){ } 

GetBarsByMooId(int mooID){ } 
+0

'GetBarsByMooId'가 반복됩니다. 제 말은'GetBarsByMoo'라고 생각합니다. –

+0

당신은 절대적으로 옳습니다, 코멘트 주셔서 감사합니다. :) – Abbas