Un mio amico non sviluppatore mi ha segnalato questo sito su:
- Design Patterns
- AntiPatterns
- Refactoring
Ogni Pattern ha una scheda con: Intent, Problem, Discussion, Structure, Example, Check list, Rule of Thumb
Inoltre c'è anche un video dove viene presentato un esempio di codice, e degli esempi in C++ e Java, purtroppo manca .NET ma non credo ci siano particolari problemi a leggere codice Java per un programmatore .NET
Per gli AntiPatterns c'è una scheda che mi piace molto, riporto ad esempio Reinvent The Wheel:
- AntiPattern Name: Reinvent the Wheel
- Also Known As: Design in a Vacuum, Greenfield System
- Most Frequent Scale: System
- Refactored Solution Name: Architecture Mining
- Refactored Solution Type: Process
- Root Causes: Pride, Ignorance
- Unbalanced Forces: Management of Change, Technology Transfer
- Anecdotal Evidence: "Our problem is unique." Software developers generally have minimal knowledge of each other's code. Even widely used software packages available in source code rarely have more than one experienced developer for each program.Virtually all systems development is done in isolation of projects and systems with overlapping functionality. Reuse is rare in most software organizations. In a recent study of more than 32 object-oriented software projects, the researchers found virtually no evidence of successful reuse
Dateci un'occhiata a me sembra molto curato e ben fatto.