正确设计代码编辑器应用程序
我正在从事个人项目,基本上是一个代码编辑器。想象一下标准的文件菜单,包括菜单项New,Open,Save,Save As,Save All,Close,Close All。
我坚持正确的设计。目前我有:
Document类,表示文档 - 代码编辑控件,选项卡栏中的相应选项卡以及各种属性,如Caption,Filename,IsModified等。
一个Documents类,代表所有打开的文档。包含New,Open(FileName)等方法......
问题是我无法弄清楚哪个类/菜单命令负责哪些任务。
例如,使用File-> New菜单命令很简单 - 调用Documents.New就是这样。
但是File-> Open呢? Documents.Open方法期望filename作为参数。所以在调用这个方法之前我需要打开一个文件选择对话框,让用户选择文件并为每个文件调用Documents.Open(FileName)。这个支持代码的最佳位置在哪里,在菜单命令中,重写Documents.Open并将其放在那里?
与保存操作相同。哪个负责储蓄?是Document类使用Document.Editor.SaveToFile(FileName)还是更好地在Document类中创建Save方法?在中间的某个地方还需要询问用户是否要保存当前文档...
我被卡住了。有任何想法吗?
编辑:编程语言是Delphi。
没有找到相关结果
已邀请:
2 个回复
翰冒绢县
坍锭嘉韭蓝