Ich bin dabei, eine Neuentwicklung meines ASP.NET C# MVC-kommerziellen Projekts zu starten, das die Nominierung für Pferdeveranstaltungen in Australien übernimmt.Verwendung von C# -Schnittstellen zur Erweiterung bestehender Anwendungen
Ich möchte es auf andere Arten von Veranstaltungen, z. B. Autorennen, Fußball, alles erweitern. Im Moment ist es sehr spezifisch für diesen Sport
Ich habe Forschung in Interfaces und andere OOP Ansätze, aber die Anwendung auf die reale Welt ist ein wenig entmutigend.
Das ist mein Grundplan:
public interface INomination
{
public void AddNomination();
public void UpdateNomination();
public void DeleteNomination();
}
public BaseNomination
{
// Define properties
}
public HorseNomination : BaseNomination, INomination
{
// Horse nomination specific stuff, like specifying the horse
public bigint HorseID { get; set; }
}
Dann wird in der einen NominationService, konnte ich dieses
public void HandleNomination(INomination nomination)
{
nomination.Add();
}
nennen Wo ist mein Kopf weh zu tun beginnt, wie zwischen einer Nominierung zu unterscheiden, die erfordert der Benutzer das Pferd für die HorseNomination angeben oder nicht, wie CarNomination?
Benötige ich IHorseNomination, ICarNomination? Wenn ja, wie gehe ich zum Beispiel damit um, um den Typ von View für Benutzereingaben zu rendern?
Ihre 'BaseNomination' Klasse sollte bereits eine' NominationID' enthalten. Sie sollte für alle Nominierungsarten verwendbar sein. –