依赖、耦合、面向对象、依赖倒置、控制反转、依赖注入、面向接口编程

Löwy Juval Righting Software

A Philosophy of Software Design, 2nd Edition

John Ousterhout

amazon.com
Cover of A Philosophy of Software Design, 2nd Edition

Robert C. Martin Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)