这可能是c#basics 101,但我只是想如果我不问我永远不会知道,并注定要编写结构错误的代码......(该项目将在MVC中,所以我的控制器需要继承自控制器类)
总之。我想构建我的代码。
public class Global_Base_Class: System.Web.Mvc.Controller { }
public class Production_Base : Global_Base_Class { GetPoducts, AddProduct... }
public class Risk_Base : Global_Base_Class { GetRisk, AddRisk... }
public class Example_View_Controller_A : Production_Base { }
public class Example_View_Controller_B : Risk_Base { }
如果我需要/想要(干掉我的代码)
,该怎么办?public class Example_View_Controller_C : Production_Base, Risk_Base
我已经读过多次继承不是好习惯/不允许在c#...
中为实现这一目标,我最好的路线/最佳做法是什么?
任何帮助/链接将不胜感激
答案 0 :(得分:3)
首先:不要那样命名你的课程。 Microsoft已经编写了一套指南:http://msdn.microsoft.com/en-us/library/ms229002.aspx
您的结构在任何OOP语言中都无效,因为关系不是is-a
。控制器是MVC控制器,而不是具有业务逻辑的类。 Google favor composition over inheritance
了解更多信息。
所以答案是
将常用功能移动到一个单独的类中,该类包含在需要它的所有类中。 (RiskService
或ProductionService
)