代码之家  ›  专栏  ›  技术社区  ›  SandRock Jerry Birchler

股票交易者ri>控制员,演示者,wtf?

  •  5
  • SandRock Jerry Birchler  · 技术社区  · 16 年前

    我目前正在学习如何通过prism(复合wpf)项目高级使用wpf。

    我观看了许多视频和示例,演示应用程序StockTraderri让我提出以下问题:

    以下各部分的具体作用是什么?

    • somethingservice:好的,这是用来管理数据的
    • somethingview:好的,这是显示的
    • somethingpresentationmodel:ok,它包含要绑定到视图的数据和命令(相当于viewmodel)。
    • 某位主持人:我不太明白它的用法
    • 我也不明白

    我看到一个演示者和一个控制器是不必要的,但我想了解他们为什么在这里。有人能告诉我他们 角色 和 什么时候 使用它们?

    2 回复  |  直到 16 年前
        1
  •  7
  •   Richard Szalay    16 年前

    我有 exactly the same problem 当我第一次穿过棱镜时。

    Controllers 基本上是针对跨越整个模块的逻辑,而 Presenters 用于特定于 View .

    例如,一个 Presenter 将响应导致视图中的按钮被禁用的命令。一 Controller 将响应导致 视图 (和) 节目主持人 )完全更改,或者可能在模块外壳的不同区域加载不同的视图/演示者。

    编辑: 至于何时使用,你可以跳过 控制器 完全如果你不需要上面提到的编排。最简单的应用程序只有一个:

    • Module :将视图/演示者注册到 Region
    • 节目主持人 :响应视图中的命令并修改 ViewModel .
    • 视图模型 :适配器 节目主持人 和 视图 实现 INotifyPropertyChanged
    • 视图 绑定到 视图模型 并显示用户界面

    编辑: 至于Presenter与ViewModel,大部分逻辑应该在Presenter中。将viewmodel视为包含视图的逻辑,而将演示者视为处理与视图交互的结果。

    例如,用户单击 视图 . 这会触发 ICommand ,由您的 节目主持人 . 这个 节目主持人 开始搜索并设置 ViewModel.IsSearching 属性,它将激发 CanSearch . 搜查 是基于其他几个属性(例如 IsSearchEnabled && !IsSearching )中的“搜索”按钮 视图 有它 Enabled 属性绑定到 搜查 .

        2
  •  0
  •   Dzmitry Huba    16 年前

    在我看来这里的控制员指的是 Application Controller

    推荐文章