Object-Oriented Software Engineering

This is an archived version of https://www.jhu-oose.com that I (Leandro Facchinetti) developed when teaching the course in the Fall of 2019. Some of the links may be broken.

Lecture 2: Design Principles

Video 🔒

You Aren’t Gonna Need It (YAGNI) & Keep It Simple, Stupid (KISS)

Don’t Repeat Yourself (DRY)

Convention Over Configuration

Loose Coupling

Encapsulate What Varies


The Rails Doctrine

The Zen of Python

Available by running >>> import this on the Python console.