【发布时间】:2016-07-19 05:49:58
【问题描述】:
我即将开始重新开发我的 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; }
}
然后,在 NominationService 中,我可以调用它
public void HandleNomination(INomination nomination)
{
nomination.Add();
}
我开始头疼的地方是如何区分需要用户为 HorseNomination 指定马匹的提名,还是不需要,比如 CarNomination?
我需要 IHorseNomination、ICarNomination 吗?如果是这样,例如,我如何处理它以呈现 View 的类型以供用户输入?
【问题讨论】:
-
您的
BaseNomination类中应该已经有一个NominationID。它应该可以用于所有提名类型。