首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我混淆了工作模式和工厂模式

我混淆了工作模式和工厂模式
EN

Stack Overflow用户
提问于 2019-01-29 20:35:34
回答 3查看 1.1K关注 0票数 0

工厂模式源模式

在基于类的编程中,工厂方法模式是一种创建模式,它使用工厂方法来处理创建对象的问题,而不必指定将要创建的对象的确切类。这是通过调用工厂方法来创建对象的--或者在接口中指定,由子类实现,或者在基类中实现,并可被派生类覆盖--而不是调用构造函数。

我的问题是工作单位模式,而工厂模式是相同的模式,有不同的名称,我不确定。

EN

回答 3

Stack Overflow用户

发布于 2019-01-29 21:28:15

我的问题是工作单位模式,而工厂模式是相同的模式,有不同的名称,我不确定。

你为什么认为它们是相同的模式?

我得让你失望虽然您已经找到并解释了factory模式是什么,但unit of work是另一回事。

马丁·福勒:

维护受业务事务影响的对象列表,并协调写入更改。(“企业应用体系结构模式”)

通常,它与repository pattern一起使用,并用于:

  • 维护在事务处理期间更改(插入、更新或删除)的内存中的业务对象的列表。
  • 一旦事务完成,所有这些更新都会作为一个大的工作单元发送,并在一次执行中将其物理地保存在数据库中。

您可以在repository patternunit of work pattern 这里一起找到一个很好的解释。

票数 3
EN

Stack Overflow用户

发布于 2019-01-29 22:28:27

可能不一样了。工厂法是一种设计模式。工作单位是一种对象关系行为模式.

票数 1
EN

Stack Overflow用户

发布于 2019-01-30 06:27:01

不,他们不一样。

您已经很好地理解了在您的问题中提到的工厂模式,并且您还链接了一个解释它的资源。我不想在此重复这部分。

工厂模式是创造模式,其中UnitOfWork是行为模式。

工作单元(UoW)被注入存储库中。UoW可以根据您的设计创建存储库;但是创建(存储库)不是UoW的目标。基于设计,UoW在某些情况下可能会扮演附加的工厂角色。

如前所述,这里

工作单元跟踪在业务事务处理期间可能影响数据库的所有操作。当您完成之后,它会根据您的工作确定更改数据库所需完成的所有工作。

正如您在上面的引用中所看到的,UoW的主要责任是跟踪业务事务中所做的更改,并在范围结束时清除(或丢弃)这些更改。

问题详细讨论了UoW;可能对您有所帮助。

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

https://stackoverflow.com/questions/54429194

复制
相关文章

相似问题

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