Replies: 1 comment
-
Shape因为不可变对象大大增加了实体真实形状的情况,所以我个人认为纯粹的形状声明是必要的。 目前的 Fetcher 已经足以表达实体形状,但因为携带了查询逻辑所以并不纯粹。 与之对应,目前的 FetchBy 实际上是对形状的约束而不是完全的 Fetcher 抓取约束。 所以,在群里经过一轮讨论后,目前我个人对这个想法的实践明确为增加 Shape,保持目前 Fetcher 功能不变的情况下迁移部分 Fetcher 功能到 Shape 上,并且将 FetchBy 调整为 ShapeOf 去实现更明确的表述与生成。 在补充 Shape 后,我将尝试实现以下功能: 基于 Shape 提供形状的深度校验这自然是 Shape 设置的初衷,同时有最浅层最标准的 Shape DSL 下面我预想一下这种结构下的伪代码:
并且 Shape 可以提供更明确的 Entity Path
更安全的 Immutable Object Convert在 Shape DSL 基础上在属性层面补充 required: Boolean = true 和 default: T?,由此我们就可以得到安全的 Immutable object 在不同形状间的转换。
然后目前的 fetch DSL 在这样的设计下也将被迁移为 shape DSL 的一种拓展。 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
[Feature Request] 添加一个基于 Fetcher 的 Entity validate
起因是这个 Feature Request,后续又想到了一些关于 Immutable Object 更便捷的操作方式,所以认为单一个 Feature 不太够了,所以迁移到 discussion 了。
Beta Was this translation helpful? Give feedback.
All reactions