单一职责原则
开放封闭原则
里氏替换原则
依赖倒置原则
接口隔离原则