每种方法的优点/缺点是什么?
我知道我在一本书或这个网站上的某处读过为什么使用表继承对于 Entity Framework 4 来说很糟糕。
例如,为什么不创建一个具有 entityId、datecreated、datemodified 的表,然后让所有其他类在实体框架中继承它呢?然后我的所有其他实体的表不需要有这些列。然后我可以让一个人类继承那个基类,然后一个特定的人继承人。
除了编写一个较小的 SQL 脚本来生成数据库之外,我不确定这样做的好处......
我看到的缺点是它使直接在 SQL 中查询/查看数据非常痛苦(所有相关信息都跨越了这么多表),我还问了我的朋友,他说:
当大多数经验不足的开发人员处理他们通过继承处理的问题时,更改应用程序代码比更改和迁移数据库数据要容易得多。我刚开始开发时也是这样做的。这在逻辑上是有道理的。但是,一旦开发了很长时间,您就会发现委托确实是最好的方法(在 soa 的情况下服务调用服务),并且单一用途的服务提供比继承更多的重用。”
这对我来说也很有意义。
所以
1)一般来说,继承与扩展的优缺点是什么
2)在我上面的具体示例中,什么更合适?
3)如果我的例子对其中一个或两个都不好,那么使用继承和使用扩展的好例子是什么?
我以前都用过,但由于我经验不足,我仍然不确定如何处理所有情况。
10票,8个收藏,过百次浏览无人能扩展?=(。