我即将开始重新开发我的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类型?
答案 0 :(得分:1)
正如我从问题中所理解的那样,你是如何被称为差别提名,即提名,CarNomination等。
public void HandleNomination(INomination nomination)
{
nomination.Add();
}
您必须在此参数中传递的内容是您要为其执行操作的类的对象。
// If you want to perform actions from HorseNomination
HandleNomination(new HorseNomination());
// If you want to perform actions from CarNomination
HandleNomination(new CarNomination());
但请记住,为了传递对象,您必须继承该类的接口。
我希望我能理解你的问题,并尝试了一点点回答。