gpt4 book ai didi

php - OOP 设计 - 您在哪里/何时验证属性?

转载 作者:IT王子 更新时间:2023-10-29 00:17:41 26 4
gpt4 key购买 nike

我读过几本关于 OOP DDD/PoEAA/四人组的书,但似乎都没有涉及验证的主题——似乎总是假设数据是有效的。

我从这篇文章 (OOP Design Question - Validating properties) 的答案中了解到,客户端应该只尝试在域对象上设置一个有效属性值。

此人提出了一个类似的问题,但仍未得到解答:http://bytes.com/topic/php/answers/789086-php-oop-setters-getters-data-validation#post3136182

那么如何确保它是有效的呢?您是否在每个 getter 和 setter 旁边都有一个“验证器方法”?

  • 是有效名称()
  • 设置名称()
  • 获取姓名()

我似乎缺少一些关于 OOP 数据验证的关键基础知识 - 你能给我指一本详细介绍这个主题的书吗? - IE。涵盖不同类型的验证/不变量/处理反馈/是否使用异常等

最佳答案

根据我的经验,验证发生在有人工/用户输入的地方。这通常发生在您允许通过您的方法改变某些东西的地方。在您的示例中,我将对方法进行验证:

setName()

所以它发生在您允许输入值/设置值的地方,结果是 setter 方法。

关于php - OOP 设计 - 您在哪里/何时验证属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2610013/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com