c# - 以下三种流利的表达方式中,哪一种最符合用户故事?

标签 c# coding-style fluent-interface

我正在开发一个流畅的框架,我希望从其他工程师那里得到一些反馈,以了解哪种流畅的表达方式最符合我的用户故事。

用户故事:“作为一名使用 Fluent Framework X 的软件工程师,当框架的事件聚合器发布一个事件时,我想将此事件映射/路由到我的 Controller 上的一个方法,然后在 UI 容器中显示一个 View 。”

选项 1:

Map<MyEvent>()
.To<MyView, MyController>(controller => controller.HandleMyEvent());

选项 2:

Map<MyEvent>()
.To<MyView>()
.Via<MyController>(controller => controller.HandleMyEvent());

选项 3:

Map<MyEvent>()
.To<MyController>(controller => controller.HandleMyEvent())
.Show<MyView>()
.InContainer<MainTabContainer>();

最佳答案

"as a software engineer using fluent framework X, when the framework's event aggregator publishes an event, I want to map / route this event to a method on my controller and then show a view in a UI container."

这听起来像是您希望您的代码说的:
将事件 X 发送到我的 Controller 并在 UI 容器中显示结果。
然后将其输入到 google English-to-c# translator 中,您将得到:

Route<MyEvent>().To<MyController>(c=>c.HandleMyEvent()).AndShowResultIn<MyUIContainer>();

在设置事件路由时指定 View 和 Controller 。需要指定 View-Controller 映射,但不能与设置事件路由放在同一句话中。所以分开做:

Bind<MyView>().To<MyController>();

或者将 Controller 绑定(bind)到 View ,然后将事件路由到 View ,而不是 Controller ,我不会。坚持通过 Controller 路由事件。

关于c# - 以下三种流利的表达方式中,哪一种最符合用户故事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5600553/

相关文章:

c - 为什么这些 C 宏不写成函数呢?

nhibernate - 101教程如何设置nhibernate?

c# - 什么是 Windows 剪贴板 CF_ 格式,如 -16230、-15835、-15834 等?

c# - 为什么我的仪表板 View 不显示?

c# - 使用 ForEach 语句修改列表的元素

c# - 有没有一种方法可以跨不同语言标准化 Windows 事件日志查询?

c# - 何时使用属性而不是函数

c - 何时(不)将嵌套数据结构的一部分存储到临时变量中——漂亮/丑陋,更快/更慢?

c# - 为什么要使用流畅的界面?

c# - Entity Framework 代码优先 Fluent Api : Adding Indexes to columns