两者有什么区别 DTO模式(福勒)和 纪念品图案(GoF)在动机和实施方面?可以是同一个班级吗?如果是,我该如何命名它们(xxxDTO 或 xxxMemento)?它们在实施上有什么主要区别吗?他们的位置在哪里 MVP 建筑学?

谢谢。

有帮助吗?

解决方案

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

其他提示

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top