过多的单例 全局变量 业务逻辑和创建逻辑混杂在一起 static方法(无法被重写) 5.太多的if else逻辑 缺少依赖注入 7.违反迪米特原则(知道自己最少需要的) 在构造方法中写逻辑 非直接的引用 不可测试的三种情景