gpt4 book ai didi

java - "without violating encapsulation"在 Memento 模式中意味着什么

转载 作者:行者123 更新时间:2023-12-02 22:51:29 26 4
gpt4 key购买 nike

维基百科对 Memento pattern 的描述指出:

  • The internal state of an object should be saved externally so that the object can be restored to this state later.

  • The object's encapsulation must not be violated.

我对如何违反封装感到困惑?是指memento中存储的字段的getter方法吗?

最佳答案

I'm confused as to how can encapsulation be violated? Is it referring to the getter methods of the fields stored in memento?

是的,它指的是Memento中要存储的字段的getter方法。具有这些字段的对象(也称为发起者)不希望通过公开暴露其字段来违反其自身的封装。接下来的问题是如何保存这些字段(保存到备忘录中)而不公开它们。

也就是说,我们如何在不添加getter方法的情况下保存私有(private)字段呢?我们不想通过以任何方式暴露(Originator)对象内部的数据来违反封装。

Refactoring Guru有一篇很好的文章解释了这一点。

关于java - "without violating encapsulation"在 Memento 模式中意味着什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58788115/

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