跨2个服务层共享方法

时间:2012-04-06 19:24:32

标签: asp.net-mvc-3 entity-framework service-layer

我正在使用MVC3和Entity Framework开发一个应用程序。我有两个具有一个相似性的实体的服务层。

这两项服务是DurationService和FieldService。前者处理Days和daysettings列表。这些设置包含有关每天时间段的信息(开始时间,结束时间,可能的中断时间列表)。后一个服务处理字段和字段集的列表。这些字段设置用于确定字段可用性。

两项服务都需要检查休息时间是否重叠。我为DurationService编写了这个,但现在已经注意到FieldService需要完全相同的方法。我不想违反DRY原则,所以我的问题是,我该如何最好地处理这个问题?

我是否创建了两个服务都可以调用的静态类?我是否使用某种继承(即使这种方法是他们将共享的唯一方法)。

1 个答案:

答案 0 :(得分:1)

看起来架构阻止你做出明显正确的事情。不要让这种情况发生。

继承可能不是正确的解决方案。一个静态助手类就可以了。简单的问题需要简单的解决方案。