![]() |
1
8
规则1:保持域模型简单明了。 首先,不要过早地优化某个东西,因为你认为它可能效率低下。构建域,使对象和语法正确流动。保持界面干净:$user->addmessage($message)干净、精确且清晰。在引擎盖下面,您可以使用任意数量的模式/技术来确保保持完整性(缓存、查找等)。您可以利用服务来协调(复杂的)对象依赖性,这可能会造成过度破坏,但这里有一个基本的示例/想法。
也一直在使用doctrine2。您的域实体对象只是那些对象……它们不应该知道它们来自何处,域模型只是管理它们并将它们传递给管理和操作它们的各种函数。 回首过去,我不确定我是否完全回答了你的问题。但是,我不认为实体本身应该有任何访问映射器的权限。创建服务/存储库/任何操作对象的工具,并在这些功能中使用适当的技术… 从一开始也不要过度设计。让您的域专注于它的目标,并在性能实际上是一个问题时重构。 |
![]() |
2
1
IMO,一个实体应该不知道它来自哪里,是谁创建的,以及如何填充它的相关实体。在我使用的ORM(我自己的)中,我能够定义两个表之间的联接,并通过指定(在C中)来限制其结果:
这将导致最多10个项目的联接,按消息创建日期排序。消息项将添加到每个用户。如果我写:
连接被反转。 因此,有可能使实体完全不知道映射器。 |
![]() |
3
1
不。 原因如下:信任。您不能信任数据以对系统有利。您只能信任系统对数据进行操作。这是编程逻辑的基础。 假设数据中有一些令人讨厌的东西,它是为XSS设计的。如果一个数据块正在执行操作或者进行了评估,那么XSS代码就会融入其中,从而打开一个安全漏洞。 不要让左手知道右手在做什么!(主要是因为你不想知道) |
![]() |
Schadre · C-plus编码错误 2 年前 |
![]() |
Nithin K · 即使类属性的类型正确,也会获取异常 2 年前 |
![]() |
amirreza870 · Python OOP-更改类文本 3 年前 |
![]() |
A_K · 使用cat或打印方法打印部分内容的子集闭包 3 年前 |
![]() |
Mo Fatah · 如何使用Python类打印数独板? 3 年前 |