Wpf mvvm中的业务逻辑

Wpf mvvm中的业务逻辑,wpf,mvvm,projects-and-solutions,business-logic,Wpf,Mvvm,Projects And Solutions,Business Logic,我在MVVM应用程序中有businesslogic—不是真正的“数据”,而是真正的逻辑,意思是“规则”。示例:在wpf树视图中拖动项目,其中每个对象都基于viewmodel,并且具有依赖于业务案例的属性。 当然,viewmodel中的这些属性是“特定于业务的”。 但我倾向于不在“viewmodel”或“Model”下放置静态对象,如“CanAcceptDragObject()”。这种通用的(大部分是静态的)特定于业务的代码在本地的常见位置是什么 我很难理解您的总体问题,但要回答您的具体问题,“我

我在MVVM应用程序中有businesslogic—不是真正的“数据”,而是真正的逻辑,意思是“规则”。示例:在wpf树视图中拖动项目,其中每个对象都基于viewmodel,并且具有依赖于业务案例的属性。 当然,viewmodel中的这些属性是“特定于业务的”。
但我倾向于不在“viewmodel”或“Model”下放置静态对象,如“CanAcceptDragObject()”。这种通用的(大部分是静态的)特定于业务的代码在本地的常见位置是什么

我很难理解您的总体问题,但要回答您的具体问题,“我把业务逻辑放在哪里?”答案,在大多数情况下是模型。

我理解,在MVVM中,您将在模型中保留类似人名/地址/年龄的数据库,这将为person-viewmodel提供数据。在我的wpf树视图中,这些项目表示特定于业务的对象,例如:“空盒子”、“5个苹果盒子”、“满苹果盒子”。在“规则”类(例如businesslogic:10 apples=full box)中决定是否可以拖放一个项目或接受其他拖动的项目。据我所知,拖放规则是业务规则的“模型”,因此放在“模型”下你觉得呢?对我来说,虚拟机只是从视图到模型的一种转换方式。该模型处理与用户输入结果相关的大部分逻辑。该视图可以包含“逻辑”,如果该逻辑仅仅是向用户表示与真实结果(即值转换器、文本样式等)无关的内容的一种方式,我同意。viewmodel应该是两者之间的接口。业务规则(导致特定的拖放行为)是应用程序模型的一部分!