工厂模式与依赖倒置:
背景:要开披萨店,需要制作不同类型的披萨,芝士披萨,榴莲披萨等;
1.首先看传统的写法
传统披萨商店类里依赖了多个具体披萨类,这就违反了依赖倒置原则,高层不应该依赖底层,二者都应该依赖抽象(抽象类或接口);
那么将其进行改造:
要开披萨店,先不要具体制作什么类型的披萨,总之要开披萨店有pizza对象就行了,这里得出抽象的披萨;
榴莲披萨,芝士披萨去实现披萨类;
在披萨店引入披萨工厂
改造后:披萨店里没有了具体披萨实现类, 披萨店只依赖抽象的披萨,具体的披萨实现类也只依赖于披萨接口;
依赖倒置: 依赖倒置 倒置的是思维方式,比如开披萨店,不需要先去关注卖什么披萨,总是卖披萨就对了,至于卖什么披萨让子类去实现;
工厂模式是最典型帮助我们实现依赖倒置原则的设计模式;
工厂模式在依赖倒置种扮演的角色:隐藏具体,抽象披萨类,帮助我们在工厂中得到具体实现类,让其使用者无需new任何实现类,便可以得到想要的实现类;