我应该选择静态类或具体类?

时间:2017-12-28 12:08:23

标签: design-patterns

我需要创建一个mapper,它将DataTable映射到类的Object中(只需通过DataTable列将每个属性设置为类)

我正在考虑以下可能性:

  1. 创建一个静态类和静态方法签名,如Map(DataTable obj)。

  2. 创建一个Concrete类和静态方法签名,如Map(DataTable obj)。

  3. 创建一个Concrete类和非静态方法签名,如Map(DataTable obj)。)

  4. 我该怎么办?

1 个答案:

答案 0 :(得分:2)

这实际上取决于您的特定用例以及您的组织/代码库中应用的标准 - 我个人认为Dependency Inversion Principle并创建一个映射器接口 - 然后为每个映射器创建实现该接口的具体类你想要的。

这样,您的代码不依赖于硬编码映射器,并且测试调用映射逻辑的代码变得更容易,因为您可以存根/模拟映射器对象。