La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

UGIALT.NET Conference - 14 Giugno 2008. 10:00 – Benvenuto 10:15 – Introduzione a UGIALT.NET 10:30 – Lightning talks 11:00 – Pausa 11:15 – Prioritizzazione.

Presentazioni simili


Presentazione sul tema: "UGIALT.NET Conference - 14 Giugno 2008. 10:00 – Benvenuto 10:15 – Introduzione a UGIALT.NET 10:30 – Lightning talks 11:00 – Pausa 11:15 – Prioritizzazione."— Transcript della presentazione:

1 UGIALT.NET Conference - 14 Giugno 2008

2 10:00 – Benvenuto 10:15 – Introduzione a UGIALT.NET 10:30 – Lightning talks 11:00 – Pausa 11:15 – Prioritizzazione user stories 11:30 – Prima User Story introduttiva 12:00 – Users Stories 13:30 – Pranzo 14:30 – User Stories cont. 17:30 – Chiusura Lavori e futuro

3

4

5 Manifesto Storia Cosa significa ALT.NET Perchè ALT.NET

6 Sei un dev che usa quello che funziona ma sei sempre alla ricerca di qualcosa di meglio Tieni docchio il resto del mondo per adottare il meglio da ogni community: Open Source, Agile, Java, Ruby, ecc… Non sei contento del tuo stato attuale. Le cose possono sempre essere migliorarate, codice più elegante e semplice, più manutenibile e di maggiore qualità Sai che I tools sono importanti, ma non ti portano molto lontano. Sono i principi e la conoscenza che contano. I tool migliori sono quelli che incorporano la conoscenza e incoraggiano I principi (ad. Es. Resharper)

7 Aprile 2007 – Il termine ALT.NET appare per la prima volta in un post di David Laribee Ottobre 2007 – Prima ALT.NET Conference ad Austin (TX) Novembre 2007 – Nasce UGIALT.NET Febbraio 2008 – 1° Conf UGIALT.NET Aprile 2008 – ALT.NET conf a Seattle

8 ALT != Alternativo ALT == Avere Alternative

9 UserGroup tradizionali sono about technology Più importante: Principi base dellOOP Processi e metodologie di sviluppo Tool Alternativi

10

11 Agilità (Emanuele DelBono) TDD (Roberto Valenti) Mocking – Rhino (Claudio Maccari) IoC/DI (Simone Busoli) MVC/MVP (Simone Chiaretta) ORM (Matteo Baglini)

12 Emanuele DelBono

13

14

15

16 La femmina Il danaro La mortazza

17 Iterazioni Collaborazione Adattabilita

18

19

20

21

22 Fornire valore al cliente in breve tempo Gestire il cambiamento Ridurre il rischio Migliorare la qualità Per divertirsi mentre si lavora!

23 XP è una metodologia basata su un insieme di pratiche: Whole Team Planning Game Customer Tests Small Releases Simple Design Pair Programming Test Driven Development Design Improvement Continuous Integration Collective Code Ownership Coding Standard Metaphor Sustainable Pace

24 Roberto Valenti

25 Pratica di XP Sviluppo funzionalità guidato dai Test Attività di progettazione : Red : definire il comportamento atteso con asserzioni Green : rendere eseguibili con successo i test, le asserzioni sono verificate Refactor : effettuare refactoring mantenendo verificate asserzioni (eliminare duplicati, design pattern …)

26

27 Migliorare il software tramite l applicazione di una serie di modifiche interne che non cambiano il comportamento esterno.

28 Non è testare il codice. Aiutare sviluppatori e clienti durante il processo di sviluppo definendo requisiti non ambigui. TDD = Design (design emergente)

29

30

31 Codice semplice e funzionante (Simple Design Principle) Simplicity is more complicated than you think. But its well worth it – Ron Jeffries Codice Testato (Test Behaviour Not Code) Facilmente manetunibile (Embrace Change) YAGNI (You Arent Gonna Need It) = No over design

32 Claudio Maccari

33 Mail: Blog (ITA): Blog (ENG):

34 Framework mock object per.net mocks.aspx mocks.aspx Si parla di test… unit testing Ora disponibile versione 3.4

35 Risorse esterne Networks Databases Altri sistemi Risorse interne Qualsiasi cosa con setup complesso Legacy code Fake the hard stuff

36 State based testing va bene Interaction based testing e più interessante Objects talking to objects

37 1. Creazione di un mock 2. Definizione delle comporamento atteso 3. Esecuzione del codice sotto da testare 4. Verifica delle aspettative 5. Asserts addizionali

38 Lets see some code!

39

40

41

42 La soluzione sta nel mezzo ?

43

44

45

46 Download Wiki Quick Reference (ottimo documento) hino+Mocks+3.3+Quick+Reference.pdf hino+Mocks+3.3+Quick+Reference.pdf

47 Dopo

48 Simone Busoli

49 14/06/ Milano

50 Comunemente DI - IoC Principi comuni di disegno software Alta coesione Basso accoppiamento … Basso accoppiamento Riduzione delle dipendenze tra componenti software Chi conosce chi? Risoluzione dipendenze tra componenti

51 Voglio poter registrare le iscrizioni ad un evento Persistere i dettagli delliscritto Comunicare se liscrizione è andata a buon fine tramite mail SubscriptionService ServicePersonRepository

52 SubscriptionService conosce direttamente i dettagli di Service e PersonRepository BAD

53 Il servizio conosce solo linterfaccia dei componenti che utilizza GOOD

54 Iniettare dipendenze dallesterno rende più onerosa listanziazione di componenti Necessario conoscere tutte le dipendenze

55 Hollywood Principle Dont call us, we will call you! Vorrei unistanza di SubscriptionService

56 Entità esterna allapplicazione Configurabile Conosce le dipendenze tra i componenti ed è in grado di soddisfarle a runtime IoC Container Vorrei unistanza di SubscriptionService Istanza completa di tutte le dipendenze

57 Inversion of Control container open source Stabile – production ready Si configura il container (xml, boo, C#) Si richiede listanza di un componente Il container si occupa di soddisfare le dipendenze e creare listanza

58 Configurazione Xml

59 Codice client Molto meglio, eh? Altri containers StructureMap Spring.Net Autofac …

60 Inversion of Control and Dependency Injection: Working with Windsor Container us/library/aa aspx us/library/aa aspx Castle Project StructureMap

61 Simone Chiaretta

62 14/06/2008 – Sim0ne Chiaretta blog ITA: blog ENG:

63 Loose coupling Necessario rimuovere lambiente esterno Uomo WebServer

64 MVC – Model View Controller MVP – Model View Presenter

65 Model View Controller

66 Model Presenter View IView

67 MVC MonoRail ASP.NET MVC Framework Prism MVP Mostly custom built WebClientSoftwareFactory CompositeUIApplicationBlock

68 - Sito ufficiale, con download P2 - Codice sorgente - tutti gli articoli su ASP.NET MVC - lista commentata di risorse Blog di MS ScottGu: ScottHa: PhilHa: Leggendo il mio blog DotNetMarche – 27 Giugno – Testing automatizzato e Asp.NET MVC Framework

69 Matteo Baglini

70 14/06/2008 – Matteo Baglini Mail: Blog:

71

72 Business Logic Layer modellato utilizzando il pattern Domain Model. Le tabelle del database secondo il modello relazionale RDBMS.

73

74 L Object Relational Mapping è uno strumento che permette di mappare i dati fra il modello RDBMS ed il modello OOP.

75 File XML Decorando Classi e Proprietà con Attributi

76

77 Permette di disegnare il modello seguendo la teoria OOP osservando solo la business logic. Approccio non più bottom-up ma top-down (dal dominio alla persistenza). Generazione automatica ed ottimizzata di statement sql creati ad hoc, i quali permettendo di gestire in maniera molto più granulare le operazioni CRUD.

78 Alta curva di apprendimento iniziale. Leggeri compromessi nella progettazione del Domain Model, es. Implementare interfacce. Viene visto come lo strumento che permette allo sviluppatore di dimenticarsi del database.

79

80 NHibernate Open Source / Porting da Hibernate (Java) / Multi Database Vendor / Persistence Ignorance / Mapping Complessi Linq To Sql Supporto di MS/ Integrato con VS / Sintassi Linq / Molto Semplice Entity Framework (Beta 3) Supporto di MS/ Integrato con VS / Multi Database Vendor / Sintassi Linq / Mapping Complessi

81 Object Relational Mapping Wikipedia - relational_mappinghttp://en.wikipedia.org/wiki/Object- relational_mapping C2.com - NHibernate/Hibernate Sito - Libro -

82 Linq To Sql MSDN - us/library/bb aspxhttp://msdn.microsoft.com/en- us/library/bb aspx Serie di di Post sul Blog di ScottGu - ta/default.aspx ta/default.aspx Entity Framework MSDN - us/library/aa697427(VS.80).aspxhttp://msdn.microsoft.com/en- us/library/aa697427(VS.80).aspx CodePlex Samples-


Scaricare ppt "UGIALT.NET Conference - 14 Giugno 2008. 10:00 – Benvenuto 10:15 – Introduzione a UGIALT.NET 10:30 – Lightning talks 11:00 – Pausa 11:15 – Prioritizzazione."

Presentazioni simili


Annunci Google