首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储库模式,观察者模式-实用示例

存储库模式,观察者模式-实用示例
EN

Stack Overflow用户
提问于 2014-05-02 11:50:51
回答 1查看 1.1K关注 0票数 0

我正在努力成为一个更好的C#程序员,并使用最佳实践的设计模式。

请有人解释一下如何最好地在代码中使用存储库模式和观察者模式来处理下面的实际示例?

我有一个包含公司的系统。公司有部门和员工。此外,每一家公司都支付一份订阅费,这限制了他们可以创建的部门/雇员的数量。你不可能有一个公司没有至少一个部门,而该部门应该有一个雇员。

当我为公司创建一个存储库时--在“创建公司”代码中,我应该创建第一个部门和第一个员工,还是应该将存储库分开,还是只简单地调用一个“创建公司”就可以做到这一点?

在“创建部门”代码-我想确保公司不能创建更多的部门,他们已经付出了。我猜这里正确的是观察者模式-通知“订阅”代码公司正在尝试创建一个新的部门,然后停止它,如果它要超过极限-但我不知道从哪里开始!

所有的帮助都非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2014-05-02 11:59:03

您正在尝试使用观察者模式来实现业务验证。这是国际水文学组织的错误做法。

由于观察者模式是关于某些事件通知对象的,而这些对象正在实现某些行为,所以它与包含存储库模式持久化的数据的业务对象不匹配。

您所描述的是业务对象的简单验证。您正在尝试确保您的数据只有在通过某些检查时才会持久化。在您的存储库中(或者在您的域/业务层的某个地方,如果您有),获取您的数据,验证它,并将其持久化。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23427490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档