gpt4 book ai didi

c# - 这是好的设计吗?

转载 作者:太空宇宙 更新时间:2023-11-03 11:34:22 24 4
gpt4 key购买 nike

我正在创建一个文本编辑器。我的文本框控件是 TextBox 的子类,名为 Editor。我的主窗体 MainForm 有一个 Editor 的实例。

当 MainForm 想要加载文本文档时,它会调用 Editor.LoadDocument(string path)Editor.LoadDocument 调用 Document.Load(string path)

保存时会发生同样的事情:MainForm --> Editor.SaveDocument --> Document.Save

看来 Editor 在这里充当了不必要的中间人,所以我想直接让 MainForm 访问 Document : 编辑器.Document.Load(路径)Editor 仍然会创建和维护 Document;它只会提供对它的直接访问。

请注意,这将创建一个双向关联:Editor 将有一个 DocumentDocument 将有一个 Editor(Document 使用 Editor.Text 并订阅 Editor.TextChanged)。

我有两个问题:

  1. 这是好的设计吗?

  2. 当应用程序退出时,双向关联是否会造成与垃圾回收相关的任何减速?

最佳答案

您需要阅读模型- View - Controller 等模式。

通常,UI 应该直接在模型(Document)上激活操作,然后 View (Editor)应该订阅事件并充当观察员。

关于c# - 这是好的设计吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6785246/

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