2012-04-06 8 views
3

Ich entwickle eine Anwendung mit MVC3 und Entity Framework. Ich habe Service-Layer für zwei Entitäten, die eine Ähnlichkeit haben.Sharing-Methoden über 2 Service-Schichten

Die beiden Dienste sind DurationService und FieldService. Die erste behandelt eine Liste von Tagen und Tageseinstellungen. Diese Einstellungen enthalten Informationen zu den Zeitfenstern pro Tag (Startzeit, Endzeit, eine Liste möglicher Pausenzeiten). Der letztere Dienst behandelt eine Liste von Feldern und Feldeinstellungen. Diese Feldeinstellungen werden verwendet, um die Feldverfügbarkeit zu bestimmen.

Beide Dienste müssen prüfen, ob sich die Pausenzeiten überschneiden. Ich habe dies für den DurationService geschrieben, habe aber nun festgestellt, dass der FieldService genau die gleiche Methode benötigt. Ich möchte nicht gegen das DRY-Prinzip verstoßen, also ist meine Frage, wie gehe ich am besten damit um?

Mache ich eine statische Klasse, die beide Dienste aufrufen können? Verwende ich eine Art von Vererbung (obwohl diese Methode die einzige Methode ist, die sie teilen).

Antwort

1

Sieht aus wie Architektur verhindert, dass Sie die offensichtlich richtigen Dinge tun. Lass das nicht passieren.

Vererbung ist wahrscheinlich nicht die richtige Lösung. Eine statische Helferklasse reicht aus. Einfache Probleme erfordern einfache Lösungen.

Verwandte Themen