其实,在平常的代码中我们会时不时用到简单工厂模式,只是我们为了方便去做的,而并没有把这种模式总结起来。
照着上图,简单工厂类依赖于运算类,而加法、减法、乘法、除法都是运算类的子类,那么通过简单工厂类装载运算类,并通过封装、继承、多态,在工厂类中返回对应的子类调用同一个GetResult(),就能获取到不同的行为方式。
缺:简单工厂类中需要做判断返回相应的运算类,那么当需要加上新的类时,那么就违反了“开放-封闭”原则。
总结自:《大话设计模式》简单工厂模式
其实,在平常的代码中我们会时不时用到简单工厂模式,只是我们为了方便去做的,而并没有把这种模式总结起来。
照着上图,简单工厂类依赖于运算类,而加法、减法、乘法、除法都是运算类的子类,那么通过简单工厂类装载运算类,并通过封装、继承、多态,在工厂类中返回对应的子类调用同一个GetResult(),就能获取到不同的行为方式。
缺:简单工厂类中需要做判断返回相应的运算类,那么当需要加上新的类时,那么就违反了“开放-封闭”原则。
总结自:《大话设计模式》简单工厂模式