【发布时间】:2010-10-27 16:58:27
【问题描述】:
我越来越熟悉工厂模式(以及策略模式)以及该模式可以带来的巨大好处。但是,我一直在努力应对以下情况:
以前,我会做类似以下的事情,其中有一个可以构建和保存汽车的管理器类。这里没有依赖注入,实现起来很糟糕,尤其是在尝试进行单元测试时。
public class CarManager
{
public static Car GetCarFromDatabase(int carId) { return new Car(); }
public static void SaveCar(Car car) { }
}
我现在明白了如何拥有不同的 Factories 来为我制造汽车,无论是来自数据库还是其他任何地方!这很棒!所以,这是我的问题:
Q1:我的理解是Factories 应该只构建 对象,对吗?如果是这样,我的第二个问题呢?
Q2:如果我遵循工厂模式来构建我的对象,我应该如何保存我的对象?是否有不同的模式,或者我没有完全理解工厂模式?
【问题讨论】:
-
工厂不应该真正构建对象——它们的目的是从一组相关的对象类型中选择正确的具体类型,这些对象类型都继承自同一个基础。你确定你指的是工厂而不是建造者吗?
标签: c# design-patterns dependency-injection factory-pattern strategy-pattern