我即将开始重新开发我的ASP.NET C#MVC商业项目,该项目负责提名澳大利亚的马事件.
我想将它扩展到其他类型的活动,例如赛车,足球,任何东西.目前,它对这项运动非常具体
我一直在研究接口和其他OOP方法,但将它应用到现实世界有点令人生畏.
这是我的基本计划:
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; }
}
Run Code Online (Sandbox Code Playgroud)
然后,在NominationService中,我可以调用它
public void HandleNomination(INomination nomination)
{
nomination.Add();
}
Run Code Online (Sandbox Code Playgroud)
我的头开始受伤的地方是如何区分要求用户为HorseNomination指定马匹的提名,如CarNomination?
我需要IHorseNomination,ICarNomination吗?如果是这样,我如何处理它以呈现用户输入的View类型?