2011-02-02 9 views
8

Właśnie zacząłem używać bloków walidacji ms, które uważam za niesamowite. ale masz kilka pytań dotyczących sprawdzania poprawności danych między warstwami.Bloki sprawdzania biblioteki korporacyjnej

Obecnie używam wzorca repozytorium jako pomostu do mojej warstwy dostępu do danych. W warstwie logicznej zapełniam obiekt biznesowy, a następnie sprawdzam poprawność za pomocą bloku sprawdzania poprawności przed przekazaniem go do mojej warstwy repozytorium, która z kolei przekazuje go do warstwy dostępu do danych w celu wstawienia. Czy powinienem go ponownie sprawdzić w repozytorium? Jeśli tak, czy mogę ponownie zweryfikować użycie bloku lub czy istnieje lepszy sposób na zrobienie tego na tym poziomie?

+1

W szczególności, która wersja "bloków walidacji" masz na myśli? –

Odpowiedz

3

Dopóki używasz warstwowej architektury, w której wszystkie wywołania repozytorium przechodzą przez warstwę biznesową, nie musisz sprawdzać jej ponownie w repozytorium.

Jeśli jednak repozytorium jest używane przez inne systemy, które nie przechodzą przez warstwę biznesową, należy zweryfikować go w warstwie repozytorium.

Ale to faktycznie złamałoby zasadę DRY Do not Repeat Yourself.

Dlatego jeśli chcesz sprawdzić poprawność w repozytorium, nie powinieneś tego robić również w warstwie biznesowej.