首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DTO模式与Memento模式

DTO模式与Memento模式
EN

Stack Overflow用户
提问于 2010-10-28 02:28:23
回答 2查看 1.6K关注 0票数 1

DTO pattern(由Fowler开发)和Memento pattern(由GoF开发)在动机和实现方面有什么不同?它可能是相同的类吗?如果是,我如何命名它们(xxxDTO或xxxMemento)?它们在实现上有什么主要区别吗?它们在MVP架构中的位置是什么?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-28 02:51:12

这两者通常用于非常不同的事情-您在这里哪里混淆了?DTO是关于数据传输(运营商类)的,而memento是关于跟踪更改并允许您回滚这些更改的。除此之外,我不确定是什么让你对你的问题感到困惑。

票数 1
EN

Stack Overflow用户

发布于 2010-10-28 03:15:35

它们服务于不同的目的。DTO是一种设计模式,用于在软件应用程序的层和/或层之间传输对象。另一方面,Memento是另一种设计模式,它允许对象通过外部化其状态来提供撤消功能,如果需要,可以在以后恢复该状态。一个DTO类和一个类的Memento类可能看起来很相似,简单老式的{此处插入技术} object - PO?O或者看起来完全一样。然而,它们需要保持分离,因为它们将服务于不同的需求,因此会以不同的方式发展。例如,有一天您可能需要在DTO类中包含一个属性,但该属性对于对象的状态管理并不重要,因此不需要添加到memento类中。

另一方面,DTO通常发生在您的类之外,而您的类并不了解DTO。事实上,有一些框架可以为您处理数据映射。另一方面,对于memento模式,您的类将需要提供一个api,就像您在CreateMemento、RestoreFromMemento等uml图中看到的那样。

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

https://stackoverflow.com/questions/4036441

复制
相关文章

相似问题

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