面向对象编程的基本原则
单一职责:一个类只需要做好一件事情。
开放封闭:一个类,应该是可扩展的,而不可修改的。
依赖倒置:一个类,不应该强依赖另外一个类。每个类对于另外一个类都是可替换的。
配置化:尽可能地使用配置,而不是硬编码。
面向接口编程:只需要关心接口,不需要关心实现。