WTRANSET CORPORATE La soluzione integrale per la gestione della subvezione
Architetttura Della Soluzione
-
Upload
luca-milan -
Category
Technology
-
view
870 -
download
2
Transcript of Architetttura Della Soluzione
![Page 2: Architetttura Della Soluzione](https://reader033.fdocument.pub/reader033/viewer/2022060117/5584af13d8b42a125c8b5092/html5/thumbnails/2.jpg)
Un’applicativo web basato su un “Domain Model” la cui persistenza viene gestita da una “Unit of Work” che utilizza il pattern “Data Mapper” per la propria attività.
Il presentation layer poggia sul framework ASP.NET MVC.
![Page 3: Architetttura Della Soluzione](https://reader033.fdocument.pub/reader033/viewer/2022060117/5584af13d8b42a125c8b5092/html5/thumbnails/3.jpg)
Le classi che potete vedere qui sopra rappresentano il nostro object model. Possiamo facilmente distinguere entities e value objects,.
Ecco la nostra Specialità
![Page 4: Architetttura Della Soluzione](https://reader033.fdocument.pub/reader033/viewer/2022060117/5584af13d8b42a125c8b5092/html5/thumbnails/4.jpg)
Programmare è anche un esercizio creativo.
Esistono però obiettivi: stabilità, estensibilità, mantenibilità e scalabilità che il programmatore deve perseguire per scrivere codice di qualità.
![Page 5: Architetttura Della Soluzione](https://reader033.fdocument.pub/reader033/viewer/2022060117/5584af13d8b42a125c8b5092/html5/thumbnails/5.jpg)
SRP: Single Responsibility Principle
OCP: Open Closed Principle
LSP: Liskov Substitution Principle
ISP: Interface Segregation Principle
DIP: Dependency Inversion Principle
![Page 6: Architetttura Della Soluzione](https://reader033.fdocument.pub/reader033/viewer/2022060117/5584af13d8b42a125c8b5092/html5/thumbnails/6.jpg)
DOMAIN OBJECTS
CUORE DELL’APPLICAZIONE
Application Services
Unit Tests
Domain Services
ISpecialtyRepository
SpecialtyRepository
SpecialtyController
ReservationService
NotificationService
![Page 7: Architetttura Della Soluzione](https://reader033.fdocument.pub/reader033/viewer/2022060117/5584af13d8b42a125c8b5092/html5/thumbnails/7.jpg)
UI / Application Services
DOMAIN MODEL(Core & Services)
Infrastructure(Nhibernate,Logging,Validation)
DB
DependencyResolver
(Unit/SM)(ioc container)
![Page 8: Architetttura Della Soluzione](https://reader033.fdocument.pub/reader033/viewer/2022060117/5584af13d8b42a125c8b5092/html5/thumbnails/8.jpg)
• Presentation / UIE’ responsabile della presentazione delle informazioni all’utente. Deve interpretare i comandi inviati dall'utente all’interfaccia. Non contiene logiche di business fatta eccezione per i meccanismi di navigazione (menù,screens).
• ApplicationCoordina l'attività dell’applicazione. Non contiene alcuna logica di business e in possesso dello stato degli oggetti del dominio, ma può memorizzare lo stato di avanzamento di tasks specifici (transazioni,sessione utente).
• DomainContiene il modello ad oggetti che rappresenta il dominio applicativo (stato e comportamento dei business objects). E’ autonomo e indipendente e non conosce i meccanismi di persistenza.
• InfrastructureTrasversale a tutti i livelli precedenti. Implementa concretamente la persistenza del dominio, e i cross-cutting concerns.
![Page 9: Architetttura Della Soluzione](https://reader033.fdocument.pub/reader033/viewer/2022060117/5584af13d8b42a125c8b5092/html5/thumbnails/9.jpg)
Cuore della soluzione
Implementazione concreta della persistenza (via NH) e
della IoC (via SM e Unit)
Interfaccia Utente (MVC)
![Page 10: Architetttura Della Soluzione](https://reader033.fdocument.pub/reader033/viewer/2022060117/5584af13d8b42a125c8b5092/html5/thumbnails/10.jpg)
• Domain Model (cuore dell’applicazione)• Repository• Query Objects• Unit Of Work (NHibernate)• Service Locator / Dependency Resolver•Inversion Of Control
![Page 11: Architetttura Della Soluzione](https://reader033.fdocument.pub/reader033/viewer/2022060117/5584af13d8b42a125c8b5092/html5/thumbnails/11.jpg)
1) MARTIN FOWLER: Patterns of Enterprise Application Architecture (libro)
2) Jeffrey Palermo: http://jeffreypalermo.com/ (blog)
3) Domain Driven Design:http://domaindrivendesign.org/ (sito)
4) Robert Martin http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod (articolo)