c# - 创建仅负责创建其他对象(即工厂)的类时的最佳实践?
问题描述
我经常发现自己创建了以“Factory”为后缀的类。这些类往往只负责创建特定类或一组相关类。但是我一直觉得这可能不是最佳实践,并且有更好的方法来解决这个问题。我认为这不是最佳实践的原因之一是,尽管我使用的是“工厂”后缀,但实际上并没有使用工厂设计模式。
假设我有一个类Vehicle
,它包含两个变量make
和model
. 我希望我的问题能够创建许多这样的Vehicle
对象,所以我想封装代码以在单个类中创建这些对象。我可能会创建下面的类。
public class VehicleFactory
{
public Vehicle CreateVehicle(string make, string model)
{
//create vehicle..
return vehicle;
}
}
然后VehicleFactory
可以在我的程序中的任何地方使用,而无需重复代码并违反 DRY。
当我重构代码时,我经常需要创建这类工厂类,更具体地说,当我发现两个或多个创建相同对象的类时。我想通过提取重复的代码然后将其放在特定的工厂类中来重构代码。
有没有更好的方法来解决这个问题?
解决方案
推荐阅读
- c++ - 在 linux 中构建 VS 2019 失败并给出“错误 \Linux.targets(514,5): 错误:发生了一个或多个错误”但没有解释任何事情
- python - 用掩码为真的另一个张量填充张量
- php - 将一张图像放入单元格 (Excel) 中而不会溢出 Phpspreadsheet
- bash - 变量可以在 Bash 中的参数内部传递吗
- neo4j - 运行 BFS Neo4j 时如何指定最大成本?
- javascript - 如果 ionic3/5 中带有感叹号的 wifi 不会触发网络 onchange 事件
- rebol - 用 Rebol 编写的 Tracer 函数
- c# - 无法使用 RsaCryptoServiceProvider 导出 RSA 参数
- tfs - TFS 2015-使用不同配置重复测试用例-看不到配置选项
- amazon-s3 - 如何正确配置带有 S3/Minio 的 Gitlab Runners 作为分布式缓存?