2009-05-08 5 views
1

ich auf der Idee der Schaffung statische Methoden auf dem Teil Linq-Abfragen wieStatische Methoden vs Repository-Muster mit Linq2Sql

public partial class User 
{ 
    public static User FindByGuid(string guid, ApplicationDataContext context) 
    { 
     return context.Users.Where(x => x.GUID == guid).Single(); 
    } 
} 

So getroffen habe, zum Beispiel, kann ich leicht einen Benutzer finden, indem Sie:

using (var context = new ApplicationDataContext()) 
{ 
    var user = DataAccess.User.FindByGuid(UsersDropDown.SelectedValue, context); 
} 

Ist dies ein anerkanntes Designmuster? Was sind die Vorteile/Nachteile gegenüber dem Repository-Modell?

Antwort

1

Während ich ein erkanntes Muster in dem, was Sie hier tun, sehe ich, dass Sie Dependency Injection verwenden, indem Sie den Anwendungsdatenkontext in die Methode als Abhängigkeit übergeben. Das Problem hierbei ist, dass Sie immer noch eng mit Ihrem Datenkontext verbunden sind, unabhängig davon, wo die Abhängigkeit initiiert wird, was den Komponententest erschwert.