我为开发创建了一个 MVP(被动视图)框架,并决定采用应用程序控制器模式来管理视图之间的导航。这是针对 WinForms、ASP.NET 和 WPF 接口的。
虽然我不是 100% 相信这些视图技术真的可以互换,但这是我目前的目标,所以我的 MVP 框架非常轻量级。
我正在努力适应的是“业务对话”的概念,它需要(a)在视图的生命周期内维护状态信息,或者更有可能是(b)在多个视图的生命周期内维护一个用例(业务对话)。我希望状态管理成为框架的一部分,因为我不希望开发人员担心它。他们需要做的就是“开始”对话,“注册”对象,然后框架完成其余的工作,直到“结束”对话。
有人对如何将其融入 MVP 有任何想法(模式)吗?我在想它可能是应用程序控制器职责的一部分(委托给对话管理器对象),因为它知道当前状态以便将用户发送到下一个视图......但后来我认为这可能取决于演示者开始和结束对话,然后由演示者管理对话和为该对话注册的对象。不幸的是,这意味着演示者不能用于不同的对话......所以这个想法似乎不正确。
如您所见,我认为没有一个简单的答案(而且我已经寻找了一段时间)。那么其他人有什么想法吗?