gpt4 book ai didi

NHibernate 和 NHibernate 验证

转载 作者:行者123 更新时间:2023-12-02 08:52:26 25 4
gpt4 key购买 nike

是否可以在 PreTranctionCommint 事件中使用 Nhibernate 验证框架验证领域模型?如果可能,我们如何编写此事件?

最佳答案

Is it possible to validate domain model with Nhibernate validation framework... ?

如果你真的有domain model那么它不需要验证框架。换句话说,对象在不依赖外部魔法验证框架的情况下封装行为并保护其内部不变量。 first place 中的域对象永远不会进入“无效”状态.如果它们是长寿的,那么它们也应该是“始终持久的”。您的域对象的有效性不应依赖于数据访问库可能会或可能不会触发的事件。您还可以发现不考虑 VALIDATION 很有帮助,因为它过于笼统且依赖于上下文,而是考虑业务对象 INVARIANTS .你不需要第三方框架来正确地在你的对象中强制执行不变量。如果不将域类耦合到验证框架,实现它真的不难。

但是如果您将问题改写为:

Is it possible to validate anemic domain model with Nhibernate validation framework... ?

那么答案就是:是的,加油,太棒了!但请记住,随着复杂性的增加,您可能希望实现更复杂的域规则,涉及多个对象字段、单独的域服务等。您将通过编写“自定义验证器”越来越多地与验证框架耦合,或者干脆放弃它并最终得到框架实现的一些规则和遍布整个代码库的其他规则。这可能值得一看 answer和一般的 DDD。

关于NHibernate 和 NHibernate 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7510275/

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