由于需求的变化,需要创建对象的具体类型也需要变化,通过new来创建对象会导致紧耦合,通过工厂方法,可以避免这种紧耦合。
1、问题
多个类型的文件分割器,在new的时候依赖具体类型,该如何避免呢?
2、使用工厂模式
定义抽象类和工厂基类
为每个分割器,创建具体类和具体工厂
MainForm不再依赖于具体的类,依赖于抽象类和抽象工厂,妙啊
3、总结
使用虚函数,让生成具体对象的过程推迟
由于需求的变化,需要创建对象的具体类型也需要变化,通过new来创建对象会导致紧耦合,通过工厂方法,可以避免这种紧耦合。
1、问题
多个类型的文件分割器,在new的时候依赖具体类型,该如何避免呢?
2、使用工厂模式
定义抽象类和工厂基类
为每个分割器,创建具体类和具体工厂
MainForm不再依赖于具体的类,依赖于抽象类和抽象工厂,妙啊
3、总结
使用虚函数,让生成具体对象的过程推迟