代码之家  ›  专栏  ›  技术社区  ›  JW.

DDD Book,Eric Evans:“工厂应该抽象为所需的类型,而不是创建的具体类”是什么意思?

  •  6
  • JW.  · 技术社区  · 16 年前

    “任何好工厂的两个基本要求是:

    ...

    请您详细说明关于第2项基本要求的声明的含义。

    2 回复  |  直到 9 年前
        1
  •  8
  •   Mark Seemann    16 年前

    卡洛斯·洛斯的答案是正确的,但你应该始终记住使用 Abstract Factory

    public interface ISomethingFactory
    {
        ISomething Create();
    }
    
    public class SomethingFactory : ISomethingFactory
    {
        public ISomething Create()
        {
            return new Something();
        }
    }
    
        2
  •  11
  •   Pietro Di Bello    6 年前

    例如,如果您有一个接口 ISomething SomethingBase 最后是一些实现此接口并从基类继承的类。您的创建方法应该返回接口类型,而不是基类型。我想这就是我的想法。

    public ISomething Create() { ... }
    

    而不是

    public SomethingBase Create() { ... }
    

    我希望有帮助,