【设计模式】 工厂方法
1. 由对应的工厂来创建对象
2. 与简单工厂相比,代码设计复杂度提高了,调用也变得复杂了,但维护成本降低了,每次添加新的类时,只要添加对应的工厂,而不需要修改原有代码。 简单工厂每次添加新的类,需要修改原有创建对象的方法。
3. 更符合开闭原则
4. 代码
public interface IFactory { CalBase CreateCal(); } public class AddFactory : IFactory { public CalBase CreateCal() { return new CalAdd(); } } public class SubFactory : IFactory { public CalBase CreateCal() { return new CalSub(); } } public class MulFactory : IFactory { public CalBase CreateCal() { return new CalMul(); } } public class DivFactory : IFactory { public CalBase CreateCal() { return new CalDiv(); } }