Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在创建一个允许用户创建、列出和编辑客户的应用程序。
你会创建一个单独的视图模型来列出实体吗?添加更新删除实体或一个视图模型并传递枚举以建立功能?
我会为每个功能创建一个单独的视图模型。
一般来说,我不喜欢枚举来建立功能;它迫使您在代码中包含许多“如果”,这变得复杂且难以理解。在每个上下文中,我尝试根据上下文使用不同的技术来避免这种情况:WPF 应用程序的应用程序层中的 ViewModels,当不同行为依赖于某种状态时的状态模式,当我必须注入时的策略模式运行时的行为,或者我必须重新利用不同类中的行为,等等......有时您需要混合使用这种技术:例如,您可以拥有一个 ViewModel 来编辑具有由状态机实现的复杂行为的客户。