我们正在编写一个在Excel 2002(呻吟)中托管的应用程序。一个要求是,在某些操作期间,我们从业务层向用户提交进度消息。但是,这些消息可以显示在多个站点上,一个是Excel状态栏,另一个是表单上的标签,未来可能还有其他。在某些情况下,我们希望仅将消息发布到Excel状态栏,在其他情况下,只发布表单上的标签,在其他情况下,两者都发布。
目前,我们有一个消息“hub”,业务逻辑可以将状态消息发布到该消息。 Excel状态栏和表单标签都会观察此中心,如果发布了任何消息,则拦截消息并显示它们 - 类似于通过邮局发送的大量邮件,其中发件人不关心目的地。
第一:这是普遍接受的模式吗?
第二:业务层是否应该了解发布消息所需的目的地?即使通过使用邮局将业务层与UI相对分离,您对业务层实际上是否具有地址/目标/目的地信息的看法是什么?
感谢。
答案 0 :(得分:1)
如果您想坚持这类问题的传统模式,那么您将需要研究模型 - 视图 - 控制器(MVC)设计模式。模式的目的是将业务逻辑与GUI分离。它允许一个模型(业务逻辑)驱动多个不同的GUI。