Lähdekoodidokumentaatio

Tämän dokumentaation painopiste on lähdekoodissa. Mikäli Blazor ei ole tuttu, paras tietolähde sen kotisivujen jälkeen on YouTube. Paras ohjelmointiympäristö on mielestäni ilmainen Visual Studio Community, ei ainoastaan Blazor-sovellusten, vaan yleisemminkin .NET-sovellusten rakentamiseen. Lähdekoodit

Sovelluksen suunnittelumalli on modulaarinen monoliitti. Jos termi ei ole tuttu, kyseessä on arkkitehtuurimalli, jossa sovellus on jaettu useisiin itsenäisiin moduuleihin, mutta kaikki moduulit toimivat yhdessä yhtenä kokonaisuutena. Tämä malli tarjoaa etuja, kuten helpomman ylläpidon ja kehityksen, koska moduulit voidaan kehittää ja testata erikseen, mutta ne jakavat saman sovellusympäristön. Mitä se sitten tarkoittaa? Se tarkoittaa, että sovelluksen eri osat on jaettu selkeisiin osioihin, joita kutsutaan myös moduuleiksi, ja jotka käännetään yhdeksi kokonaisuudeksi. Ohjelmistokehityksen trendit ovat viime vuosina suosineet mikropalveluarkkitehtuuria, jossa sovellus jaetaan pieniin, itsenäisiin palveluihin. Modulaarinen monoliitti tarjoaa kuitenkin tasapainon monoliittisen ja mikropalveluarkkitehtuurin välillä, jolloin kehittäjät voivat hyödyntää molempien mallien etuja.

Nyt on kuitenkin otettu askeleet sovelluksen hajoittamiseen erillisten palveluiden käyttöön. Sovellus käyttää Api-palveluita sisäisen tietokannan hallinnan sijaan. Jotta homma pysyisi kasassa on ydinkomponentti shared-dll jossa on kaikkien palveluiden rajapinnat ja muut tarvittavat asiat tiedon hallittun siirtoan palveluiden välillä.

Selain ja verkkosivu
Käyttöliittymä
Android/Windows client
Palvelin
Blazor server prosessi
Tietokanta
Kirjautuminen Api-palvelu
Aikaleima Api-palvelu
click, jne...
DOM-päivitykset
SignalR
api-rajapinta

Sovelluksen rakenne

Projektinrakenne

Sovellus rakenne on nyt pilkottu dll-tiedostoihin. Ainosstaan serverside sovelluksen peruskoodit on jätety ssr-sovellukseen. Seuraavasssa vaiheessa voidaan kierrättää tiedostot wasm-sovellukseen . Sovellus on muutettu nyt myös niin että kaikki tietokantatoiminnot toteutetaan AikaleimaApiClient Ja KirjautumineApiClient-kirjastolla.

Kirjautuminen API-palvelu

Kirjautuminen Api-palvelu Järjestelmään kirjautuminen on siirrety nyt erilliseen palveluun ja tietokantaan. Rajapinnaan avulla toteutetaan perustunnistautuminen. mmahdollinen kaksivaiheinen kirjautuminen ja pinkoodin käsittely. Api-palvelu on kuvattu linkissä.

Aikaleima API-palvelu

Aikaleima Api-palvelu joka hoitaa tietokantaoperaatiot. Apua käytetään rajapinnan avulla jotka on esitelty Shared-dll:ssä. Rajapinta koostuu kolmesta osasta: pyynnöistä (request), vastauksista (response) ja palveluista (services). Api-pavelu on kuvattu linkissä.

Shared

Shared-dll -moduuli, joka sisältää jaetut luokat, kuten API-rajapinnan kutsut,request ja response-rakenteet.

Käyttöliitymä komponentit

käyttöliittymä komponentit Käyttöliittmä komponentit on nyt siirrettty SharedUi-dll tiedostoon

Domain

Domainkomponentit Sovlluksen domain on nyt erillisessä domain.dll projektissa.

Sovellus ydintoiminnot

Ydintoiminnot hoitavat sovelluksen käynnistyksen, konfiguroinnin ja HTTP-pyyntöjen käsittelyn. Ne vastaavat myös palveluista, eri näkymien renderöinnistä ja käyttäjän syötteiden välittämisestä käyttöliittymäkomponenteille.