Architetttura Della Soluzione

1,101 views

Published on

Published in: Technology, Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,101
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
24
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Architetttura Della Soluzione

  1. 1. Luca Milan http://fewbit.com info@fewbit.com
  2. 2. 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.
  3. 3. Le classi che potete vedere qui sopra rappresentano il nostro object model. Possiamo facilmente distinguere entities e value objects,. Ecco la nostra Specialità
  4. 4. Programmare è anche un esercizio creativo. Esistono però obiettivi: stabilità, estensibilità, mantenibilità e scalabilità che il programmatore deve perseguire per scrivere codice di qualità.
  5. 5. SRP: Single Responsibility Principle OCP: Open Closed Principle LSP: Liskov Substitution Principle ISP: Interface Segregation Principle DIP: Dependency Inversion Principle
  6. 6. DOMAIN OBJECTS CUORE DELL’APPLICAZIONE Application Services Unit Tests Domain Services ISpecialtyRepository SpecialtyRepository SpecialtyController ReservationService NotificationService
  7. 7. UI / Application Services DOMAIN MODEL (Core & Services) Infrastructure (Nhibernate,Logging,Validation) DB Dependency Resolver (Unit/SM) (ioc container)
  8. 8. • Presentation / UI E’ 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). • Application Coordina 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). • Domain Contiene 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. • Infrastructure Trasversale a tutti i livelli precedenti. Implementa concretamente la persistenza del dominio, e i cross-cutting concerns.
  9. 9. Cuore della soluzione Implementazione concreta della persistenza (via NH) e della IoC (via SM e Unit) Interfaccia Utente (MVC)
  10. 10. • Domain Model (cuore dell’applicazione) • Repository • Query Objects • Unit Of Work (NHibernate) • Service Locator / Dependency Resolver •Inversion Of Control
  11. 11.  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.PrinciplesO fOod (articolo)

×