其他分享
首页 > 其他分享> > 继承还是不继承?想要一些专业意见

继承还是不继承?想要一些专业意见

作者:互联网

我正在设计一个使用许多常见功能的C#ASP.Net Web应用程序,正确的处理方式似乎是通过继承.我计划创建一个基类(Person),并在其他类(如Employee和Vendor)中继承它,然后依次继承Manager和Manager等Employee.这样,我不必定义通用属性,例如FirstName,LastName,每个电话号码等.

问题的第二部分是:如果我使用继承并使用Entity Framework的CodeFirst实体,他们会理解继承吗?数据将如何存储在表中?每个表都会有一个FirstName和LastName列,还是EF足够聪明以使它们成为公用表?

我真的希望有人是真正的面向对象的程序员可以帮助我解决这个问题.我已经获得了很多令人困惑的信息,我需要在EF项目方面具有实际经验的人员给我一些指导.我了解继承权吗?如果没有,我怎么了?任何帮助表示赞赏.

谢谢,

伯特

解决方法:

这不是一个简单的问题,但是在大多数情况下,最好选择组合而不是继承.您不应该仅仅因为计算器具有显示和键盘属性而从计算器派生自动提款机.太荒谬了
但是有时候继承是有意义的.问问自己,这些课是否应该有“是”关系?如我所见,最好使Vendor和Employee成为独立的类,并且都具有Person属性.并从员工派生经理.
但是,保持继承的深度尽可能少.深入的层次结构很难调试和理解,尤其是在有许多方法覆盖的情况下.
有关该主题的更多灵感,请查看Chad Myers blogpost.

标签:oop,inheritance,code-first,asp-net,c
来源: https://codeday.me/bug/20191030/1969309.html