2013-03-19 13 views
5

Bu basit bir adlandırma kuralı sorusu, ancak özellikle bununla ilgilenen herhangi bir yer bulamadım.Servis yöntemi için adlandırma kuralı

Foo adında bir sınıfım ve Bar adında bir sınıfım var.

Hizmetin bir Foo için tüm Çubuklarını almak için bir yöntem var. Ben bunun adı olmalı:

GetFooBars(int fooId) 

veya

GetBarsForFoo(int fooId) 

genişletmek için, diğer sınıflar, örneğin için Bars olabilir

GetMooBars(int mooId) 

veya

GetBarsForMoo(int mooId) 

cevap

5

Bu

[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

Teşekkür ederim, "... FooId" belirtmişsiniz. Sahip olduğum tek uyarım, "For" yerine "By" (“By”) göründüğümde, bana FooId (veya MooId) tarafından ayrılan veya sıralanan bir sürü (tüm?) Bar aldığımı düşünmemi sağlıyor. Alternatif olarak, "For" ı gördüğümde, sadece belirli bir FooId (veya MooId) için tüm Barların bir alt kümesini aldığımı düşünmemi sağlıyor. –

+0

'GetBarsByFooId' gibi bir isim gördüğümde, bana" filtreleyerek "veya" aramaya göre "düşünmemi sağlıyor. Bana asla “grup” veya “sipariş” anlamına gelebileceği hiç gerçekleşmemişti. Ama bu sadece ben ... Sanırım fooId'yi parametre olarak geçtiğinizin amacı açıklığa kavuşturmalı. –

2

Ben istiyorum böyle bir telefon desteklemek için API verdiği

GetBarsByFooId(int fooId) 

GetBarsByMooId(int mooId) 

Ya ... öneririm yerine bir o kullanın f aşağıdaki gibidir:

GetBarsByFoo(int fooID) { } 

GetBarsByMoo(int mooID) { } 

GetBarsByFooId(int fooID){ } 

GetBarsByMooId(int mooID){ } 
+0

'GetBarsByMooId' tekrarlandı. Bence GetBarsByMoo'yu kastediyorsun. –

+0

Kesinlikle haklısın, yorum için teşekkürler. :) – Abbas