Software design

Patterns of software design and development, object-orientation, architecture, domain modeling