我正在为CAD图纸的VB.NET批量PDF导出程序工作。程序运行良好,但架构混乱。基本上,一个大的功能从头到尾都需要整个过程。我想做一个或几个单独的课程来完成出口工作。一个班级如何从另一个班级请求信息?
这里的问题:
有时将由我的程序创建的PDF文件已经存在。在这种情况下,我想问用户他/她是否要覆盖现有的PDF。我只想要这样做,如果实际上有些东西会被覆盖,我只想这样做一次。换句话说,“是”=“对所有人都是。”这个表单(它将调用这个新的PDF导出类)似乎是错误的,它会计算出哪些PDF文件将被调用,以及是否有任何覆盖。事实上,最好在处理单个CAD图纸时确定PDF文件的名称(因为我可能想要使用在后台加载CAD程序中的文件后才可用的信息)。
这里的问题:
我应该如何处理提示用户的进程?我想将所有的GUI逻辑(甚至像对话框一样简单)保存在我的PDF导出类中。我需要一种方法让PDF导出类说:“嘿,我需要知道是否应该覆盖或跳过此文件”,并且表单类(或任何其他类)说:“嗯,好的,我会询问用户并回复你。“
似乎应该有一些模式来处理这种情况。它是什么?
后续处理:
活动:看起来这是一个很好的路要走。这是关于什么代码应该看起来像在PDF导出类?
Dim e As New FileExistsEventArgs(PDFFile) RaiseEvent FileExists(Me, e) If e.Overwrite Then 'Do stuff here End If
一个疯狂的想法:关于通过委托职能的PDF出口类来处理覆盖情况下导出方法是什么?
什么是你的目标:可维护性,通用(计划使用具有相同接口的另一导出格式),或两者兼而有之? – 2009-02-13 14:03:33
主要目标是可维护性。 – 2009-02-13 14:26:19