1、首先找到合适的对象; 找到合适对象的一个常见方法便是找到各个用例中的名词和动词。名词可能会成为类型或者属性,而动词则可能成为类的方法。 2、尽量降低耦合 基于接口,而不是实现来编程。 3、尽量保证代码重用 尽量使用对象组合而不是类型继承、 4、高级设计原则 单一职责依赖倒转开放/封闭里氏替换