|
Nesmysl napsaný na začátku Na základě toho. Třívrstvá architektura .NET může být rozdělena do následujících vrstev: Data Linq vrstva, Data Access layer, business logic layer a presentation layer. Šipkové symboly na obrázku 1 níže ilustrují interakci mezi vrstvami: vrstva přístupu k datům odkazuje na vrstvu Data LINQ; Vrstva obchodní logiky odkazuje na vrstvu přístupu k datům a třídy entit ve vrstvě Data LINQ. Prezentační vrstva odkazuje na vrstvu obchodní logiky i na třídy entit ve vrstvě Data LINQ. Vrstva Data LINQ zahrnuje především třídy entit a třídy Data Context. Typicky je třída entity určena pro jednu tabulku v databázi. Můžeme vytvářet instance tříd entit, které jsou přenášeny mezi různými vrstvami jako datové objekty.
Obrázek 1 Třívrstvá architektura LINQ do SQL Následuje příklad přihlašovacího okna při vytváření projektu pro zavedení tříúrovňové architektury vývoje LINQ do SQL Příprava 1. Nejprve potřebujete databázi a datovou tabulku pro uložení uživatelského jména a hesla přihlášené osoby. Zde se používá databáze SQL Server 2005. Struktura databázové tabulky je znázorněna na obrázku 2.
Obrázek 2 Uživatelská tabulka databáze 2. Otevřít VS a vytvořit nový projekt ---> jiné typy projektů---> řešení Visual Studio---> prázdná řešení. Jak je znázorněno na obrázku 3. (Zde se používá Visual Studio 2008)
Obrázek 3 Vytvořit prázdné řešení 3. Přidat knihovnu tříd. Klikněte pravým tlačítkem na nově vytvořené řešení v Průzkumníku řešení ---> přidejte ---> nový projekt ---> knihovnu tříd. Jak je znázorněno na obrázku 4. Stejná metoda vyžaduje přidání tří knihoven: BLL, DAL a DataLinq, a aplikace Windows Forms (pokud jde o vývoj webových aplikací, vyberte ASP.NET webové aplikace) a pojmenujte ji UI.
Obrázek 4 Přidejte knihovní projekt Struktura po přidání je znázorněna na obrázku 5. Současně klikněte pravým tlačítkem na UI a nastavte UI jako launchovací předmět.
Obrázek 5 Diagram struktury projektu Přidejte citát V Průzkumníku řešení přidejte odkazy na každou úroveň. Vrstva BLL Vyberte reference --->klikněte pravým tlačítkem ---> přidejte reference. Jak je znázorněno na obrázku 6. Přidejte odkaz na System.Data.Linq. Současně, podle vztahu mezi vrstvami zobrazenými na obrázku 1 výše, přidejte odkazy na projekty DAL a DataLinq. Podobně vrstva DAL přidává odkazy na projekty do System.Data.Linq a DataLinq, vrstva DataLinq přidává odkazy na System.Data.Linq a vrstva UI přidává odkazy na System.Data.Linq a projektové odkazy na BLL a DataLinq.
Obrázek 6 Přidat odkazy na projekty Dosud byla zavedena tříúrovňová architektura. Následující je přidání jejich odpovídajících tříd ke každé vrstvě. 1. Nejprve vrstva DataLinq. Klikněte pravým tlačítkem na DataLinq---> přidejte ---> nový projekt---> vyberte třídu LINQ do SQL, jak je znázorněno na obrázku 7.
Obrázek 7 Přidání LINQ do SQL třídy 2. Po dokončení přidání bude automaticky vytvořen prázdný designér (.dbml soubor) s odkazem na Server Explorer, stejně jako příslušný soubor dbml.layout (XML soubor) a designer.cs soubor. Otevřete Server Explorer a navazujte odkaz na databázi.
Obrázek 8 Open Server Explorer 3. Připojte se k databázi. Vyberte nástroj ---> přidání databáze. Jak je znázorněno na obrázku 9. Vyberte nově vytvořenou databázi a určete databázi spojení. V tomto bodě se databáze objeví v Server Exploreru.
4. Vyberte uživatele datové tabulky, kterého chcete použít, přetáhněte ho do návrháře, jak je znázorněno na obrázku 10 níže. Uložte soubor. Nyní byly automaticky generovány třídy DataContext a entity s příslušnými vlastnostmi, metodami a metodami.
Obrázek 10 Uživatelská třída Přidejte vrstvy kódu DAL vrstva Vytvořte novou třídu UserDAL a přidejte následující kód //UserDAL.cs pomocí DataLinq; pomocí System.Data.Linq;
Jmenný prostor DAL
{ veřejná třída UserDAL { private DataLinq.DBLinqDataContext objDataContext = new DataLinq.DBLinqDataContext();
public User SelectRecordByID (string userid) { zkus { return (z u v objDataContext.User kde u.Id == userid select u). Single(); } chytit (Výjimka ex) { vyhoďte ex; } } }
}
BLL vrstva Vytvořte novou třídu UserBLL a přidejte následující kód //UserBLL.cs pomocí System.Data.Linq; pomocí DataLinq;
Jmenný prostor BLL
{ veřejná třída UserBLL { vojín DAL. UserDAL objUserDAL = nový DAL. UserDAL();
public User SelectRecordByID (string userid) { return objUserDAL.SelectRecordByID(userid); } }
}
Kód UI vrstvy //LoginForm.cs vojín BLL. UserBLL objUserBLL = nový BLL. UserBLL();
private void btnSubmit_Click(object sender, EventArgs e) { string id = txtId.Text.Trim(); string psd = txtPsd.Text.Trim();
User localDataTable = objUserBLL.SelectRecordByID(id);
if (localDataTable != null & localDataTable.Psd == psd) { MessageBox.Show ("Úspěch"); } jinak { MessageBox.Show ("false"); } }
V tomto bodě je kód přihlašovacího rozhraní kompletní. Můžete ho spustit, abyste viděli efekt.
|