2727551894

导航

 

【设计模式】 工厂方法

  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();
        }
    }

 

 

posted on 2015-01-02 14:51  xmj112288  阅读(225)  评论(0编辑  收藏  举报