kkorvel / AgileWorksWebAppeals

0 stars 0 forks source link

Miks üldiselt ei ole hea praktika otse domeeni olemeid action'ites sisendina siduda ja samuti vaadetele edastada? #12

Open karelg opened 6 years ago

karelg commented 6 years ago

https://github.com/kkorvel/AgileWorksWebAppeals/blob/d8f7e5fdc16cff78d097ddf6c88b32ff562c1fcb/AgileWorksSolution/AgileWorks/Controllers/AppealsController.cs#L40

karelg commented 6 years ago

Ja kuidas oleks parem?

kkorvel commented 6 years ago

Hetkel ei saa küll aru, miks pole hea praktika domeeni olemeid actionites sisendina siduda ja vaadetele edastada. Võib-olla mõtlete selle all seda, et mõistlikum oleks kasutada ViewModelit, kus saab ära kirjeldada, missuguseid andmeid siduda ja kuvada andmebaasist. ViewModel lihtsustab vaadet.

karelg commented 6 years ago

Siin on tegelikult rohkem kui üks põhjus. Esiteks on tihti domeeni mudelis rohkem informatsiooni, kui tegelikult operatsiooni läbi viimiseks on vaja ja kuna praegu antakse otse ette terve domeeni objekt, siis on meil ka raske tagada, et kõik meie domeeni reeglid on täidetud, sh võib see avada tahtmatult turvaagu. Eraldi mudel võimaldab ka andmeid vaatele sobivamal kujul esitada ja vormist neid rakendusse saata ja me ei ole piiratud siis domeeni modelleerimisel vaate vajadustega jne.