2010-02-08 15 views
5

Bir depoda çalışırken, genellikle yöntemi oldukça genel tutmaya çalışıyorum, ancak bu bazen daha uzun yöntemleri çağırmaya veya hizmet katmanında daha özel olarak adlandırılmış yöntemler oluşturmaya neden olabilir. Sorum şu; bir alanınızın sahip olduğunuz alan adınız ne kadar bilgiye sahip olmalı? aşağıdaki gibiAlan adınız ne kadar bilgi deponuza sahip olmalı?

Örneğin, Şu anda bir yöntemi vardır:

public User GetUniqueByRoleAndRoleProperty<TRole>(string propertyName, object propertyValue) 
    { 
     ... 
    } 
Belirli bir rolü ve özelliğiyle kullanıcılara geri çekmek için kullandıkları

, ama bir yöntemi olması Depoyu çok fazla bilgi veren olacak örneğin:

public User GetArtistBySlug(string slug) 
{ 
    ... 
} 

cevap

2

İşini yapmak için daha fazla bilgiye sahip olmalı ve artık yok. "Sümüklüböcek", "sanatçı" kaydının bir özelliği ise, sanatçı bunu zaten bildiğinden, sümüklü sanatçılara bir göz atmak iyi olur. Eğer sanatçılara sümüklü böceklerin atanması karmaşık, karmaşık kurallar izlerse (hanedanlık armağanını ya da bunun gibi bir şeyi), o zaman depoyu bunları uygulamamalı, eğer kesinlikle bu seviyede çalışan akıllı optimizasyonları kullanmanız gerekiyorsa, örn. özel veritabanı sorgulama yapıları.