Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kaip veikia verslo logikos atskyrimas, kai naudojama csla.net su mvvmcross


Kaip veikia verslo logikos atskyrimas, kai naudojama csla.net su mvvmcross


Naudojant csla.net su MVVMCross, verslo logikos atskyrimas pasiekiamas panaudojant abiejų sistemų stipriąsias puses. „CSLA.NET“ yra skirta verslo logikai įtraukti į verslo objektus, užtikrinant, kad patvirtinimo taisyklės, autorizacijos patikrinimai ir duomenų prieigos logika yra aiškiai atskirti nuo pristatymo sluoksnio [2] [3]. Kita vertus, „MVVMCross“ pateikia patikimą MVVM sistemą, skirtą UI ir programos lygio logikai valdyti keliose platformose [1].

Verslo logika su csla.net

CSLA.NET skatina aiškų atsakomybės padalijimą, pabrėždamas verslo objektų, kuriuose yra visa verslo logika, naudojimą. Šie objektai yra sukurti naudojant autentiškas į objektą orientuotų dizaino koncepcijas, daugiausia dėmesio skiriant elgesiui, o ne tik duomenų konteineriams [3]. Šis požiūris užtikrina, kad visos programos verslo taisyklės būtų vykdomos vienodai, todėl yra lengviau išlaikyti ir išplėsti programą [2].

integracija su MVVMCross

„MVVMCross“ pirmiausia susijęs su programa ir UI lygiu, todėl verslo paslaugos ir modeliai gali pasirinkti kūrėjui [1]. Integruodami CSLA.NET su MVVMCROSS, galite panaudoti CSLA verslo objektus kaip modelio sluoksnį MVVM modelyje. „ViewModel“ „MVVMCross“ gali suvartoti šiuos verslo objektus, kad paskatintų UI būseną ir tvarkytų vartotojo įvykius.

geriausia atskyrimo praktika

1. Naudokite CSLA verslo objektus kaip modelius: CSLA verslo objektai turėtų būti naudojami kaip modelio sluoksnis MVVM modelyje. Tai užtikrina, kad verslo logika lieka įtraukti į šiuos objektus.

2. Ploni „ViewModels“: laikykite „ViewModels“ plonus, daugiausia dėmesio skiriant UI specifinei logikai ir būsenos valdymui. Venkite sudėtingos verslo logikos į „ViewModels“, nes tai gali sukelti kodo dubliavimąsi ir neatitikimus [4] [8].

3. „ViewModelbase“ paveldėjimas: jei reikia, paveldėkite iš CSLA „ViewModelbase“, kad integruotumėte CSLA verslo objektus su MVVMCROSS „ViewModel“ reikalavimais. Tačiau tai turėtų būti padaryta protingai, kad būtų galima aiškiai atskirti susirūpinimą [1] [7].

4. Duomenų prieigos sluoksnis: įsitikinkite, kad duomenų prieigos logika yra atskirta nuo verslo logikos. CSLA palaiko abstraktaus duomenų prieigos logiką, kuri gali būti naudinga integruojant su MVVMCross [2] [6].

Vykdydami šią praktiką, naudodami „CSLA.NET“ su „MVVMCross“, galite veiksmingai atskirti verslo logiką nuo UI logikos, užtikrindami prižiūrimą ir keičiamą keičiamą kryžminės platformos programų architektūrą.

Citatos:
[1] https://stackoverflow.com/questions/17373587/how-well-would-mvvmcross-and-csla-net-work-together-in-a-multi-platform-strategy
[2] https://ironpdf.com/blog/net-help/csla-et/
[3] https://github.com/marimerllc/csla/blob/main/docs/what-is-csla-.net.md
[4] https://www.reddit.com/r/androiddev/comments/13djgfv/business_logic_in_viewmodel_mvvm/
[5] https://blog.lhotka.net/2019/09/04/uno-platform-and-webassembly-with-csla-v5
[6] https://marcduerst.com/2017/07/07/layer-architcture-separation-of-view-business-gogic-and-physical-data-access/
[7] https://cslanet.com/old-forum/8575.html
[8] https://github.com/marimerllc/csla/discussions/1987