9得票3回答
为什么工厂方法是一种类模式,而抽象工厂是一种对象模式?

从GOF书中: 类模式处理类与其子类之间的关系。这些关系是通过继承建立的,因此它们在编译时是静态固定的。 对象模式处理对象关系,这些关系可以在运行时更改,更加动态。几乎所有模式都在一定程度上使用继承。因此,唯一标记为“类模式”的模式是那些专注于类关系的模式。 为什么工厂方法是一个类模式...

141得票15回答
为什么我们需要抽象工厂设计模式?

大多数定义都说: 抽象工厂提供了一个接口,用于创建相关对象家族,而不指定它们的具体类 抽象工厂模式的作用是什么,既然我们可以通过创建具体类的对象来实现任务?为什么要有一个创建具体类对象的工厂方法? 请给我任何一个必须要实现抽象工厂模式的现实生活例子。

8得票2回答
如何在测试Android活动时注入依赖项,而不使用第三方框架?

我想测试一个名为CommentActivity的Android活动,通常会构建并使用我编写的CommentsDataSource类的实例。 public class CommentActivity extends Activity { @Override protected void...

8得票5回答
一个带参数的抽象工厂如何进行单元测试

给定一个抽象工厂实现: public class FooFactory : IFooFactory { public IFoo Create(object param1, object param2) { return new Foo(param1, param2); ...

43得票5回答
服务定位器模式和抽象工厂模式有什么不同?

一开始看,服务定位器模式对我来说看起来与抽象工厂模式相同。它们似乎都有相同的用途(您查询它们以接收抽象服务的实例),并且在我阅读有关依赖注入的文章时都被提到。 但是,我看到服务定位器模式被描述为一个糟糕的想法, 但是至少有一个主要的依赖注入框架直接支持抽象工厂模式。 如果它们不同,那么它们...

9得票5回答
使用静态方法实现的工厂

我曾经看到过使用静态方法实现工厂模式的方法。大致如下: public class MyFactory { public static Product1 createProduct1() {} public static Product2 createProduct2() {}...

47得票1回答
抽象工厂模式

C#中抽象工厂模式的好例子是什么? 抽象工厂模式在C#中有哪些优点? 如何在C#中使用泛型与抽象工厂模式? 如何使用抽象工厂模式进行单元测试?

610得票21回答
抽象工厂模式和工厂模式有何区别?

我知道有很多关于这两种模式之间区别的帖子,但是有一些东西我找不到。 从我所阅读的内容来看,工厂方法模式允许您定义如何创建单个具体产品,但将实现隐藏在客户端外,因为他们将看到通用产品。我的第一个问题是关于抽象工厂的。它的作用是允许您创建依赖于您使用的特定工厂的多组具体对象,而不仅仅是单个具体对...

14得票1回答
使用Ninject进行依赖注入,结合MVC 3并使用服务定位器模式

自从我在另一个stackoverflow问题的答案中读到一位用户说过“如果你正在调用服务定位器,那么你做错了。”,这件事情一直困扰着我(确切的问题现在我想不起来了)。 那是一个声望很高的用户(我想是在十万级别),所以我认为这个人可能知道他们在说什么。自从我第一次学习DI并且知道它与单元测试及...

43得票3回答
工厂模式、抽象工厂模式和工厂方法模式

我对这三个术语感到非常困惑。 我的理解是: 在工厂模式中,没有具体的工厂。根据参数构建新对象的工厂。 在抽象工厂模式中,有多个具体工厂。客户端必须显式地创建不同的具体工厂。 这样说对吗? 还有其他的区别吗? 此外,什么是工厂方法模式?它与工厂模式相同吗?