gpt4 book ai didi

.net - .NET 上的纪念品实现

转载 作者:行者123 更新时间:2023-12-02 02:38:24 24 4
gpt4 key购买 nike

我在 .NET 上见过两种不同的 memento 实现。

一个非常简单 - 对象创建自身的另一个实例。

另一个是使用 BinaryFormatter 和 MemoryStream 序列化对象。

哪个是首选方法?谁能指出每种方法的优点/缺点?


顺便说一句,我有兴趣从资源使用/开发人员生产力的角度来看待它。我很抱歉没有先说明这一点。

假设不需要持久化memento,哪个是首选?

从开发人员生产力的角度来看,序列化毫无疑问地胜出。对于任何对象通用的几行代码比必须手动创建一个可能涉及私有(private)构造函数、字段分配等的克隆更有效。

但话又说回来,也许序列化很重 - 我不确定。

最佳答案

我认为选择如何创建/存储纪念品取决于您希望纪念品保留多长时间以及您是否需要跨应用程序域传达该纪念品。如果备忘录只存在很短的时间并且只被同一个线程使用,那么克隆对象是合理的。如果需要保留备忘录或将其传递给另一个应用程序域,则首选序列化。如果纪念品长期存在,您甚至可能希望将其序列化并将其存储在外部(在文件或数据库中)。

关于.net - .NET 上的纪念品实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/284437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com