Progettazione Software

Definizione della Architettura Software, scelta della infrastruttura tecnologica, Progettazione e Disegno del software, implementazione e idiomi OO seguendo i metodi innovativi dell'informatica moderna e gli standard affermati. Con lo scopo di assolvere ai bisogni del committente e generare valore e nuove opportunità di business.

Hoare sul disegno del software

Codice con le rughe - 3/4 (e resto mancia)

Codice con le rughe - 2/4

Codice con le rughe - 1/4

Web Service: Mobile Agent + servizi + risorse

Modificare metodi interminabili: strategia

Modificare metodi interminabili: quando il tool di Refactoring manca

Modificare metodi interminabili: scomporli

Modificare metodi troppo lunghi

Single-goal Editing

La qualità del codice che fa la differenza nella pratica

Strategie per togliere duplicazioni nel codice

Eliminare il codice duplicato: la scelta non è meccanica

Eliminare il codice duplicato: i refactoring

Eliminare il codice duplicato: da dove cominciare

Eliminare il codice duplicato

Individuare le responsabilità di una classe

Disegno del codice che usa Framework e librerie di 3ze parti

Materiale dal ESSAP 2008

Milioni di cose ancora da scoprire x scrivere buon codice

Lascia decidere l'utente

Parmenide, Eraclito e von Neumann

Arte e informatica ancora

Informatica & Design

ESSAP 2008: Una settimana di training Agile full-immersion

Creatività & profitto

Perché passare a soluzioni "ASP.NET REST-ful"... IMHO!!!

DryadLINQ data parallel applications (spocchia da developer ?)

Un progetto Microsoft Research sul multi-threading

Due definizioni equivalenti di buon disegno

Situazioni da team: disaccordo sulla architettura

Ma Turing che c'entra con la progettazione di applicazioni multi-threading?

Programmi più intelligenti del proprio programmatore ?

Libro: Object-Oriented Reengineering Patterns

SOA + ROA + Mobile Agent = ?

Programmazione OO, una definizione alternativa

Progettazione di app. multi-threading: conclusioni

Progettazione di app. multi-threading: pattern per il modello a sincronizzazione

Progettazione di app. multi-threading: reagire al deadlock

Progettazione di app. multi-threading: prevenire il deadlock

Progettazione di app. multi-threading - altri pattern comuni

Progettazione di applicazioni multi-threading - pattern comuni

Resurce Oriented Architecture: il contratto

Resource Oriented Architecture

Progettazione di app. multi-threading: modelli di programmazione

Progettazione di app. multi-threading: modelli di programmazione

Progettazione di app. multi-threading: obiettivi

Progettazione di applicazioni multi-threading

Mescolare bene esperienza e capacità di imparare facendo

I metodi Agili riscrivono le convenzioni ?

Elastic Mind la sfida del Design

MVC - Real Report from the field

Il materiale del Italian AgileDay 2007 è on-line

Architettura Real Life : adattabilità alle evoluzioni tecnologiche

Italian Agile Day 2007 - l'agenda

[OT] Le cattedrali tecnologiche raccontate da LEWIS BALTZ

XPLWebinar 6 Nov 2007

[OT] Design

Intuito e visione d'insieme

Fare parte di un Team oppure no ?

Intanto rilascio poi lo sistemo 2°

Design Pattern simmetrici

Imparare i Design Pattern applicati a .NET

Progettazione software, un esempio di vita reale

Model View Controller feat. web user interfaces: slide e video dagli Architectire Days

10 criteri per valutare il disegno della tua applicazione, gestire la complessità, etc.

La coesione dei metodi di una classe

Pillole di Domain Driven Design by Janky

Architettura del software: un approccio agile - slide & video disponibili

Chat sulle metodologie agili

Risorse on-line per Architetti

Ready to start: Architettura del software: un approccio agile.

Web Cast 'Architettura del software: un approccio agile'

Architettura, una visione moderna

Architettura: Inversion of dependency dal data layer in su

Architecture Days: i link della sessione "Model View Controller feat. web user interfaces"

Workshop "Architecture Days" Special Extra Track

Pattern di Unit testing: XUnit Test Patterns

Italian Agile Day 2006, il 1° Dicembre

Architettura : ma serve davvero ?

Quality Assurance: Classico, Agile e Lean

Rubriki: i pattern più popolari del 2006

La mappa degli agilisti italiani

Programmare senza ego: linee guida

Il software come conoscenza in compresse

The Toyota way

Pair Programming: la diversità dei pair è una ricchezza

Quiz sulle metodologie Agili ed eXtreme Programming: le risposte che mi sono dato

Quiz sulle metodologie Agili ed eXtreme Programming

A caccia di un tool di metriche

TypeMock.NET

Come proteggere una class library rendendola accessibile ai soli assembly firmati

AgileDay 2005

Una critica a Code Complete di Steve McConnell

XP e User Stories, per noi e per Microsoft

I tool di refactoring: quale usare?

Nomi di classi, metodi, namespace, etc. Italiano o Inglese?

Manuale pratico di Wiki numero 6 (ultimo): Inseguire le modifiche sul Wiki

Manuale pratico di Wiki numero 5: Creare nuove pagine

Manuale pratico di Wiki numero 4: Contribuire al Wiki

Manuale pratico di Wiki numero 3: Firmarsi sul Wiki

Manuale pratico di Wiki, numero 2

Manuale pratico di Wiki, numero 1

Manuale pratico di Wiki, numero zero

Strong-Typing o Weak-Typing? La discussione prosegue

Strong-Typing o Weak-Typing?

Esperienza di Refactoring con ReSharper: resoconto

Clicca il titolo per leggere tutta la storia. Sono molto interessato a conoscere i commenti di altri utenti di ReSharper, di utenti di altri tool di Refactoring x .NET e anche dei tool di Java.

I namespace Alias sono utili?

Quiz di programmazione OO

I Generics del C# 2.0 e i Template del C++ ISO/IEC 14882

I Generics del C# 2.0: quando sono preferibili alternative diverse?

SOA... parliamone ;-)

OOP

Test: programmazione OO e gli altri 7 paradigmi

Refactoring Applied

Alcune foto del Workshop 2 Dic, Microsoft Italia - Segrate

Workshop 2 Dic, Microsoft Italia - Segrate

Refactoring Applied: pratica avanzata del Refactoring

Le Slide sono disponibili!!!

Progettare software, la realtà italiana e della community .NET

Perché .NET è più sicuro???

Essere un programmatore migliore

Ancora su Patterns in Interaction Design

Semilavorati software per .NET

Differenze tra applicazioni WinForm/LAN e WebForm/Internet

Un po di pratica: Remoting, Web Service, NUnit e TDD