依赖、耦合、面向对象、依赖倒置、控制反转、依赖注入、面向接口编程
all well structured object-oriented architectures have clearly-defined layers, with each layer providing some coherent set of services through a well-defined and controlled interface.
Robert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)

