C# 何时在Windows窗体.net应用程序中使用MVP?

C# 何时在Windows窗体.net应用程序中使用MVP?,c#,winforms,mvp,C#,Winforms,Mvp,虽然我的问题很简单,但我对MVC/MVP很熟悉,当引擎和通信部分是一个开放API时,我将编写一个简单的即时消息软件。因此,我的软件将有大约3个表单,一个带有登录详细信息的启动屏幕,选项表单和一个具有所有功能的主表单,如:朋友列表、发送消息、接收消息(选项卡)、搜索用户等 在UI透视图中,GUI在我的应用程序中采用1种形式是很重要的 所以我的问题是,对于我将要拥有的唯一复杂形式,是否有必要实现一个MVP设计模式,或者在这种情况下,最好直接将所有逻辑放在一个位置 谢谢 贾纳洛帕 我认为最好将关注点分

虽然我的问题很简单,但我对MVC/MVP很熟悉,当引擎和通信部分是一个开放API时,我将编写一个简单的即时消息软件。因此,我的软件将有大约3个表单,一个带有登录详细信息的启动屏幕,选项表单和一个具有所有功能的主表单,如:朋友列表、发送消息、接收消息(选项卡)、搜索用户等

在UI透视图中,GUI在我的应用程序中采用1种形式是很重要的

所以我的问题是,对于我将要拥有的唯一复杂形式,是否有必要实现一个MVP设计模式,或者在这种情况下,最好直接将所有逻辑放在一个位置

谢谢


贾纳洛帕

我认为最好将关注点分开,特别是在GUI中。

我的价值是始终以MVC方式编写代码。如果它值得编码,就值得好好编码

问问自己,你是否能看到你的应用程序超过当前的规格?在mvc框架下编写代码将比其他框架更容易


无论如何,MVC!:)

如果您希望在web应用程序中公开API,您肯定会从清晰的关注点分离中获益。如果MVP或其他模式是正确的方式,这取决于你,但你应该尝试让你的应用程序尽可能松散耦合,这样你就可以

a) 测试一下

b) 将其暴露在感觉合适的任何级别

例如,您可能希望从编写自己的聊天表单开始,该表单从数据库发布和获取更新。如果您有一个松散耦合的服务器端应用程序,那么您可以选择是在存储库级别、服务级别、控制器层公开聊天,还是使用单独的API层公开聊天,该API层与您自己的UI具有相同的接口


编辑:最后一点,如果你刚开始一个新项目,聊天肯定比WebForms更容易在ASP.NET MVC中实现,因为MVC在很多方面更容易处理ajax调用和更新。

+1绝对正确。尽可能多地将代码从UI中取出并放入模型中。