webForumDet fria alternativet

Repository pattern och Services, rätta ut mitt frågetecken.

Webbutveckling

1 svar · 716 visningar · startad av Fredde Mannen

Medlem sedan nov. 20014 054 inlägg
Frågan#1

satt här och funderade lite grann på att börja hoppa in i ett nytt design mönster. Det pratas ganska mycket om repository pattern, så jag tänkte att det är en lämplig start.

Det jag suttit hittils med har varit uppbyggt på detta sett:

- Projekt.Data
* Managers / ProductManager.cs 
* Dal / Db.dbml (Linq to Sql)

- Projekt.Web.UI
* aspx-filer
* ascx-filer 
* etc.

- Projekt.Utils
* extensions för strings, integers, listor, validatorer osv.

Där en del i ascx-filen kan se ut som följer:

private void Addbtn_Click(object sender, EventArgs e) {

    ProductManager prodMan = new ProductManager();
    Product prod = new Data.Product();
    prod.Name = txtName.Text;
    
    prodMan.SaveOrUpdate(prod);

    //... 
}

Där manager-klassens SaveOrUpdate ändrar/lägger till data i databasen.

Hur sker UI's kommunikationen mellan Repositories, Services etc?

Är det:
repository <=> services <=> ui

el.

repository <=> ui och ibland repository <=> services <=> ui.

Har ni något bra exempel på nyttjande av repositorypattern med Linq To Sql och Linq To Entities?

Medlem sedan mars 20007 896 inlägg
#2

Tänk MVC, Model, View, Controller.

Model: Repository
View: UI
Controller: Förslagsvis dina Service-instanser

mvc-php.png
250 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)