在最近的一个电话屏幕上,我被要求描述“工厂模式”。我问screener是“工厂方法”还是“抽象工厂”。他说,“不,只是工厂的模式”。
除了上述GoF模式的上下文之外,我不知道工厂模式是什么。从手机屏幕开始,我就一直在研究这个问题,但没有发现任何迹象表明有第三种“公正”工厂模式。我最接近的是这个问题,但这似乎只是区分了工厂方法和抽象工厂。
是否有明显的第三种工厂设计模式?如果不是,“工厂模式”总是指“工厂方法”吗?
发布于 2015-11-30 14:36:22
发布于 2015-12-01 01:09:39
工厂模式是指拥有一个实体(不管是类、抽象类、接口还是方法)的一般原则,它知道如何代表调用方创建其他实体的实例(通常是实现感兴趣的接口的对象),这样调用方就不必知道如何创建它们。
抽象工厂和工厂方法都是工厂模式的专门化。所以,我认为面试官有点拘谨。或者他们没有告诉你,他们想从你这里得到的只是描述一般原则,而不关心任何细节。或者他们怀疑你是否理解一般原则,而不是仅仅记住了某些术语的定义。
https://softwareengineering.stackexchange.com/questions/303919
复制相似问题