Topics

Software Development Processes

Design Goals and Principles

Object-Oriented Concepts

Behavior and State

Inheritance

Polymorphism

Generics

Packages

Design Metrics

Dependency Graphs

Coupling Degree

A few design metrics

References

 

Design Principles

 

Design Patterns

Model-View-Controller

J2EE Patterns

JSP Examples

Patterns of Enterprise Application Architecture; Fowler

The Hexagonal Architecture; Cockburn

Presentation and Control (C++)

Presentation and Control (Java)

Use Case Controller; Aguiar, etc.

XML Stylesheet (XSLT) Patterns

Frameworks

Reflection and Persistence

Event Notification

Delegation

Active and Distributed Objects

Software Entropy and Refactoring

Agent-Based Architectures

etc.