一个类只负责一个职责,一个方法应该只做一件事。否则当需求发生变更需要修改时,可能会引发意想不到的故障。
子类只在父类的基础上扩展,而不去改写父类的方法。
不要直接引用类,而是使用接口。
接口要小而精,不要大而全。
高内聚、低耦合。
软件变更时使用拓展,而不是修改源代码。