obase社区Obase开发者QQ群:962698871
obase

欢迎查阅
OBASE帮助文档

对象上下文(ObjectContext)是工作单元模式与仓储模式的综合实现。

作为工作单元模式的实现,对象上下文会将某一项业务涉及到的所有更改(包括对象或关联的新增、修改和删除)封装成一个原子操作,确保这些更改的持久化要么全部成功要么全部失败。 对象上下文还会跟踪对象修改,自动登记发生修改的对象。在实际项目中,领域模型(封装业务知识的模型)往往非常复杂,对象之间存在错综复杂的关联,应用层(领域模型的使用者)修改一个对象时可能造成其它对象连动修改,这种连动修改是应用层感知不到的,这种连动修改被称为静默修改。例如一个在线问答系统的领域模型,包含两个类:“问题”类和“回答”类,“问题”类有一个属性_answerCount,表示问题被回答的次数(所有用户均可回答)。当应用层创建一个“回答”实例时(表明有用户作了一次回答),该实例会静默修改_answerCount。对于静默修改,一般的工作单元实施方案难以跟踪,而Obase可以跟踪到。 Obase的更改跟踪机制对领域模型是透明的,不要求领域类实现任何接口或继承任何基类,确保领域层的独立性,为实践“领域驱动设计”奠定了坚实的基础。

作为仓储模式的实现,对象上下文可视为虚拟的对象容器,它是对物理存储资源的抽象。它为每一个对象类型提供了一个对象集合,称为对象集。应用层完全面向对象集执行查询、删除和保存操作,不需要关心物理存储细节和存储架构的复杂性,在系统生命周期中,物理存储架构的演进也不会对应用层造成影响。

Obase基础框架为对象上下文提供了基础实现,该实现已封装了上述工作单元机制和仓储机制。您可以继承此基础实现,为项目定义特定的对象上下文,对于践行DDD的项目,我们建议一个子域定义一个对象上下文。

没有找到您需要的文档?

您还可以通过人工服务在线咨询,服务时间为每天上午9点至下午6点。

If you can't find required answer, get in touch with us online. We provide service from 9:00 to 18:00.

让编程成为一件快乐的事
现在开始