【问题标题】:How to avoid ORM situation during class design?类设计时如何避免ORM情况?
【发布时间】:2023-03-07 00:08:01
【问题描述】:

目前,我正在做一个在线服务提供商的项目。但是我对班级设计感到很困惑。

我有像admincustomeragent这样的演员表和像cityservicescategorysub-categorygender这样的数据存储表。

我为admincustomeragent 创建了类。但是我应该为cityservicescategory 等表创建类似 ORM 设计的类吗?

为数据库中的每个表设置一个类是否很好?如果没有,请解释如何避免这种情况?我可以使用 enum 或 ArrayList 代替 class 来存储数据吗?

更新:- 我想为cityservicescategorysub-categorygender 执行 CRUD 操作

【问题讨论】:

  • 将表与类混淆是一个坏主意,ORM 也是如此。为避免这种情况,请将 OOP 用于封装数据集而不是单个行的系统服务。
  • @reaanb 你能举个例子吗?
  • 你没有说你的系统应该做什么。您可能有一个 CityForm 和一个 CityServicesReport 与 CityRepository 与 DBMS 交谈。 CityForm 可能会与其他存储库对话以获取查找列表的数据。 CityServicesReport 可能会与 ReportBuilder 对话。

标签: php orm


【解决方案1】:

什么是类,基本上它将包含称为函数的属性和行为。 如果你真的有太多可重用的函数和属性,最好使用一个类,否则不要。 例子, 我有类 Vehicle 所以我知道它可以具有以下属性

 Class Vehicle {
  String color;
  int tier;
  function setTier(){
   }
  function getTier{}{
   }
 }
 Class Bike implements Vehicle{
   // you can use the attribute and function of the Class vehicle 
   //as it is parent class.
  }

在这种情况下,您可以根据需要创建不同的类。

【讨论】:

  • 但是如果我不想为每个表创建一个单独的类。你能举出双方的例子吗?我可以使用enumarray list 代替class 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-21
  • 1970-01-01
相关资源
最近更新 更多