Dzisiaj krótki post o wsparciu narzędzi ORM (konkretnie EF) da wzorca aktywny rekord. Tak naprawdę to co generuje nam EF jest już aktywnym rekordem. Wystarczy tylko uzupełnić wygenerowane klasy o logikę biznesową ponieważ w przeciwnym wypadku będzie to tylko czysta warstwa dostępu do danych.
Załóżmy, że mamy już wygenerowany jakiś diagram encji EF.Na tą chwile mamy wyłącznie zaimplementowaną (a raczej wygenerowaną) warstwę dostępu do danych. W celu dodawania właściwej logiki biznesowej, należy stworzyć klasy częściowe dla wygenerowanych encji. Przypuśćmy, że w EF zmalowaliśmy tabelę Orders na encję Order. Aby dodać logikę biznesową powinniśmy napisać:
public partial class Order { public bool Validate() { // ... } public int ComputeTotalDiscount() { // ... } public int EstimateDeliveryTime() { // ... } }
Jak widać użycie AR w połączeniu z ORM jest bardzo proste. Nie piszemy żadnego nadmiarowego kodu. Wszelki powtarzalny kod (DAL) wygeneruje za nas EF. W naprawdę dużych projektach takie rozwiązanie jednak ma kilka istotnych wad ale o nich napisze w następnych poście, który zostanie poświęcony Domain Model.
coraz bardziej ogolnie opisujesz poszczegolne modele, dla kogos kto sie chce nauczyc mysle, ze mu to nic nie pomoze. ale ogolnie arty fajne
To nie jest kolejny model tylko adnotacja do poprzedniego. Ja się chcę nauczyć i mi pomaga…