Kuidas luua moodulist veebirakendust C # MVC-s?

Stsenaarium

Kui veebirakendusel on mitu moodulit (või alarakendusi / funktsioone), kipub see suurenema. Seega, mida rohkem mooduleid oma rakendusesse ühendate, seda keerukamaks muutub selle sektsioonimine ja hooldamine.

Mis on selle lahendamise trikk?

Ülaltoodud probleemi lahenduseks on rakendusmoodulite väljatöötamine iseseisvalt, ilma nende vahel otsese sõltuvuseta ja ka peamise rakenduskoodiga. Arendajad peaksid alati valima moodullahenduse, milles suuremaid mooduleid on aja jooksul hõlpsasti hooldatav eraldi. Kui iga moodul on integreerimiseks valmis, saab need seejärel põhirakendusse ühendada, muutmata samasuguseid muudatusi.

Ehk lühidalt - keeruka asp.net MVC rakenduse struktuuri saab alade abil väga hõlpsalt säilitada. Selle mõte on võimaldada meil jaotada suur keeruline rakendus mitmeks väikseks sektsiooniks, mida nimetatakse aladeks.

Nendel aladel võib olla oma komplekt:
 1. Mudelid
 2. Vaated
 3. Kontrollerid
 4. Marsruudid

Selles artiklis töötame välja ASP.NET MVC rakenduse, mis sisaldab lõdvalt ühendatud mooduleid (sõltumata põhirakendusest), mille ühendame põhirakenduse veelgi.

Selle lähenemisviisi eelised

See lähenemisviis on tootearenduse jaoks äärmiselt kasulik. Seda lähenemisviisi kasutades võib iga mooduli välja töötada ja toote jaoks eraldi kasutusele võtta. See aitab luua toote erinevaid versioone, näiteks põhi-, profi-, premium- ja ettevõtteversioone. Samuti võimaldab see tootearendajatel luua vajaliku isolatsiooni

ü Luua eraldi installeerijad, millel on iga erineva versiooni jaoks vajalikud funktsioonid

ü põhiseadistus, millega saab installida ainult määratletud funktsioone vastavalt installimise ajal kasutatavale litsentsivõtmele, või

ü Mõni muu konfiguratsioon, mis nõuab modulaarset eraldamise tehnikat.

Modulaarse rakenduse demo

Siin loome veebirakenduse, mis sisaldab järgmisi mooduleid:

· Müük

· Ost

· Hooldus

· Turundus

· Laos

· Import

· Eksport

Samm 1:

Avage Visual Studio 2015 ja looge ASP.NET MVC projekt järgmiselt. Pange sellele tähenduslik nimi (minu puhul olen kasutanud MVCPluggableDemo).

Kui see on loodud, peaks teie lahendus välja nägema järgmine:

2. samm:

Paremklõpsake kausta „Kontrollerid“ ja valige „Lisa -> Kontroller“. Pange see nimeks HomeController ja valige malli jaoks “Empty MVC Controller”:

Paremklõpsake kontrolleri Index meetodil ja valige “Add View”. Kasutades vaikeseadeid, looge rakenduse koduleheks HomeControlleri indeksi vaade:

3. samm:

Muutke nüüd esiletõstetud jaotist jaotises _Layout.cshtml (kausta Vaated \ Jagatud), et luua soovitud moodulitele osutavaid menüüelemente:

4. samm:

Käivitage rakendus ja saate väljundi järgmiselt:

Nüüd keskendume oma rakenduse jaoks eraldi moodulite loomisele ja ühendame need siis peamisse.

5. samm:

Paremklõpsake Solution Exploreris peamise rakenduse projekti pealkirja (nagu meie puhul MVCPluggableDemo) ja valige kontekstimenüüst „Add-> Area“. Nii luuakse alaraamistiku jaoks põhiline kaustade struktuur. Määrake piirkonna nimeks „Müük” ja klõpsake nuppu „Lisa”.

Siis on meil kaustalahenduse struktuur, mis näeb välja järgmine:

6. samm:

Varundage fail SaleAreaRegistration.cs. Seda faili läheb hiljem vaja, kui lisame lahtrisse müügi mooduli eraldi projektina.

Eemaldage alamkaust Müük alast kaust Alad, hoides kausta Alad paigas.

Järgmisena lisage uus pistikmoodul jaotisse “Müük”, paremklõpsake lahendusel ja valige “Lisa-> Uus projekt”.

· Valige Tühi ASP.NET MVC rakendus

· Nimi projektile "Müük"

· Määrake asukoht väärtuseks “… \ MVCPluggableDemo \ MVCPluggableDemo \ Areas \”

· Uus projekt tuleks luua alade kausta (varem loodud).

Pärast seda sammu peaks teie lahendus välja nägema järgmine:

Kui salvestasime uue projekti Müük kausta Areas, kuvatakse see Solution Exploreri kaustas MVCPluggableDemo / Areas peidetud kaustana:

7. samm:

Õige nimeruumi ülekoormuse lisamiseks marsruutidele korrigeerige faili MVCPluggableDemo RouteConfig.cs .MapRoute () meetod:

Kasutame ka marsruutide teist ülekoormatud versiooni .MapRoute () meetodit, mis võtab kontrolleri nimeruumi.

8. samm:

Valige projekti Sale väljundkataloog väärtuseks .. \ .. \ bin \, nii et selle koostatud DLL-id paigutatakse rakenduse MVCPluggableDemo prügikasti kataloogi:

Ühendusstringide, autentimise, liikmesuse, rollihalduri, profiili ja seansi olekuga seotud sätted paigutatakse teie juurkataloogi veeb.config. Seega eemaldage kõik need jaotised müügi veebiaadressil konfiguratsioon.

9. samm:

· Looge projekti Müük kontroller Müük.

· Looge indeksvaade ja asetage sisu „Welcome to Sales Module“ selle päisesse.

10. samm:

Nüüd lisage fail SaleAreaRegistration.cs (varufail alates sammust 6) projekti Sale juurkataloogi ja muutke selle nimeruum MVCPluggableDemo; kasutage konteksti ülekoormatud versiooni.MapRoute (), mis aktsepteerib kontrolleri nimeruumi kasutamiseks järgmiselt:

11. samm:

Nüüd ehitage lahendus ja kontrollige kausta MVCPluggableDemo \ bin ning teil on seal müügimooduli jaoks koostatud DLL-id:

12. samm:

Nüüd käivitage rakendus! Kui olete kõiki samme õigesti järginud, töötab see ootuspäraselt.

Võite järgida samu samme ja luua eraldi suuremaid mooduleid ning ühendada need oma rakendusega. Kas pole tootearenduse osas veel nii lihtne funktsioon?

Postitage oma kommentaarid, kahtlused ja küsimused allpool. Demorakenduse saab alla laadida ka siit. Head kodeerimist!