概括性思想
- 单纯interface可以统一方法的调用,但他不能统一对象的实例化
- 面向对象 主要就是在做这两件事情:实例化对象 调用方法(完成业务逻辑)
- 只有一段代码中没有new的出现,才能保持代码的相对稳定,才能逐步实现OCP
- 上面的这句话只是表象,实质是一段代码如果要保持稳定,就不该负责对象的实例化
- 对象的实例化是不可能消除的
- 把对象实例化的过程,转移到其他的代码片段里
- 变化造成了不稳定,代码总是会存在不稳定,隔离这些不稳定,保持其他的代码是稳定的
- 配置文件属于系统外部的,而不属于代码本身
变化主要包括不同技术的选择和不同的用户输入。面向对象编程,所有的变化最终都要交给不同的对象去处理,当一些业务或者用户的输入有了变化的时候必须要创建不同的对象去响应用户的输入,这也就是为什么我们说一段代码只要出现了new就是导致这段代码不稳定的原因。