1--dependence inversion principle
表述1,抽象不应该依赖于细节,细节应该依赖于抽象。
表述2,针对于接口编程,不要针对于现实编程。
依赖倒转强调一个系统内实体之间关系的灵活性。
现实,java语言中创建一个对象的过程是违背开闭原则以及依赖倒转原则的,正因为这一点,设计模式给出了几个创建模式,特别是工厂模式,解决对象创建过程中的依赖倒转问题。
抽象耦合式依赖倒转的关键,但抽象耦合一定会涉及具体类从抽象类继承,因其里氏替代原则是依赖倒转的基础。
2--simple factory简单工厂方法又叫静态工厂方法。 static factory method
由一个工厂对象决定创建哪一类产品类的实例。
单例模式和多例模式是建立在简单工厂模式之上的,而且它们都要求工厂方法有特殊的逻辑,以便能循环使用产品的实例。
工厂类集中了说有的产品创建逻辑。
当产品类有不同的接口种类时,工厂类需要判断什么时候创建哪一类产品。这种对时机的判断和对哪一种具体产品的判断逻辑混合在一起。使得系统将来进行功能扩展时变的困难。