有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何将这4个SQL表转换为OO类(Java或C#),但不使用NHibernate/LINQ?

新手这里。我试图学习OOD/OOP,并在网上阅读到我不应该将SQL表转换成类。但是我找不到一个解释为什么不这样做,或者跳过哪些表。因此,我根据下图制作了一个web应用程序。它工作得非常好。但我不使用OO。请有人简单地解释一下哪些表不应该映射到类中,为什么不呢。谢谢你抽出时间。 另外,请不要使用LINQ或NHibernate等,因为我不理解它们。我只是想了解一下这部电影

SQL Tables Diagram


共 (2) 个答案

  1. # 1 楼答案

    如果您想了解OOP,不要从数据库开始。事实上,到处都可以看到表到类的“转换”,这只是演示某种类似ORM(对象关系映射器)的实体框架的一个不幸的副作用。这些是特定库的演示,而不是面向对象的

    所以,首先,忽略数据库。所有这些。不幸的是,微软把那个该死的EF推广到了每一个地方,称之为“看看你做网络应用有多容易”。ORM是一个高级主题。您应该学习OOP(使用C#)的基础知识,即了解对象与类的比较、封装、继承、多态性以及坚实的原则(google关于它们,您会找到大量的文章和视频演示)

    只有在理解了这些之后,才可以尝试使用数据库并从基本ado开始。网只有在你对它有了清晰的理解之后,才能去阅读关于ORMs的文章。事实上,在此之前,您应该先了解一下设计模式

    你必须对所有这些概念有一个清晰的理解。目前,我认为所有内容都让您感到非常困惑,因为大多数教程都针对特定的功能性,而不考虑适当的应用程序分层或职责。一切都是混合在一起的,作为一个初学者,你留下的印象是,这是你做事的方式

  2. # 2 楼答案

    在中设计应用程序时。NET(可能还有大多数其他语言),应用程序所需的每个表都成为自己的类,但您肯定可以有更多未映射到表的类

    在掌握了程序的需求后,您需要设计数据库层(即表),以持久化希望保存在数据库中的任何数据。然后,对于一个小项目,每个表自动成为一个类,您可以开始构建更多的类来管理这些“模型”或“实体”类。映射到表的类通常称为实体或模型。未映射的类称为类

    因此,在您的示例中,您有四个表,因此您将至少有四个模型类。然后,您将设计其他非模型类(根据需要和意义),以便通过程序适当地管理模型类