【问题标题】:When to use MVP in Windows Forms .net application?何时在 Windows Forms .net 应用程序中使用 MVP?
【发布时间】:2009-08-31 22:12:36
【问题描述】:

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

从 UI 角度来看,GUI 在我的应用程序中采用 1 形式很重要。

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

谢谢

贾纳洛巴!

【问题讨论】:

    标签: c# winforms mvp


    【解决方案1】:

    我认为分离关注点总是最好的,尤其是在 GUI 中。

    【讨论】:

    • +1 绝对。尽可能多地将代码从 UI 中保留到模型中。
    【解决方案2】:

    我的 2 美分价值是始终以 MVC 方式编码。如果值得编码,那就值得好好编码。

    问问自己,您是否可以看到您的应用程序超出当前规范?与其他任何框架相比,针对 mvc 框架编写代码会更容易。

    无论如何,MVC! :)

    【讨论】:

      【解决方案3】:

      如果您希望将 API 公开给您的 Web 应用程序,您肯定会受益于清晰的关注点分离。如果 MVP 或其他模式是正确的选择取决于您,但您应该尝试让您的应用程序尽可能松散耦合,以便您可以

      a) 测试它

      b) 在合适的级别上公开它。

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

      编辑:作为最后的评论,如果您开始一个新项目,那么在 ASP.NET MVC 中实现聊天肯定比在 WebForms 中更容易实现,因为 MVC 在许多方面更容易处理 ajax 调用和更新。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多