Course Outline
We will start promptly at 7:20pm Wednesdays, ending at 10:00pm.
Note that there will be no class on 11/26 due to Thanksgiving Break.
| Date | Topics | Assignments |
| 9/3 | Introduction to Design Patterns Introduction A Naive GUI Mediator |
|
| 9/10 | Event-Based Communications Observer JavaBeans (JavaBeans.zip) |
HW1: JavaBeans and Observer |
| 9/17 | UI Patterns Model-View-Controller (MVC.zip, mvc1, mvc2) Command |
HW2: MVC |
| 9/24 | Replaceable Algorithms Template Method Strategy Null Object |
HW3: Template Method and Strategy |
| 10/1 | Tweaking Behavior Adapter Decorator Chain of Responsibility |
HW4: Adapter and Decorator |
| 10/8 | Object Creation Why "new" is evil Factory Method Abstract Factory Prototype |
HW5: Getting rid of "new" |
| 10/15 | More Object Creation Builder Flyweight Memento |
HW6: Pooling |
| 10/22 | Exploring Data Structures Iterator Composite Visitor |
HW7: Composite and Visitor |
| 10/29 | APIs and Library Access Singleton Facade Bridge |
HW8: Library Evolution |
| 11/5 | State and Proxy (You
try and name this lecture...) State Proxy |
HW9: State and Proxy |
| 11/12 | Dependency Injection/Inversion of Control (Fowler Article, Bob Lee's talk on IoC and Guice) | HW10: Dependency Injection |
| 11/19 |
Languages Parsing Interpreter |
|
| Thanksgiving Break | ||
| 12/3 |
Layering Applications Three-Layer Approach (Layering Applications) Exceptions Transactions |
|
| 12/10 |
Wrapup Refactoring (Refactoring.zip) AntiPatterns (The AntiPatterns Catalog, AntiPatterns.zip) |
|