Reuse the same models in ASP.NET MVC and WPF MVVM



我正在WPF-MVVM中开发一个应用程序,但我也需要在同一解决方案中创建一个MVC项目。

我想知道是否有任何方法可以在两个类中重用相同的模型,以及最好的方法,因为要满足MVVM规范

例如,我需要向我的属性集添加一个"PropertyChanged",这在MVC项目中是不必要的。

我同意@Douglas Gandini的观点。您应该在一个单独的程序集中定义业务对象,该程序集可以从两个ASP中引用。NET和WPF应用程序。这些类不应实现任何特定于客户端的接口,如INotifyPropertyChanged,而应是仅包含业务逻辑的纯POCO类。

然后,在您的WPF应用程序中,您可以创建一个视图模型类,该类实现INotifyPropertyChanged接口,并包装业务对象的任何有意义的属性,以便从视图中公开和绑定。

然后,视图模型有一个对模型的引用,即在一个单独的程序集中定义的业务对象,该程序集可以在几个不同的客户端应用程序之间共享,并且视图绑定到视图模型。这通常是MVVM设计模式在WPF应用程序中实现(或应该实现)的方式。视图模型类包含应用程序逻辑,例如如何在数据绑定属性值更改时通知视图,并且模型包含所有平台和应用程序相同的业务逻辑。

当然,这意味着你最终会得到更多的类,但这并不一定是坏事,因为每个类都有自己的责任。视图模型的职责是充当特定于应用程序的XAML视图的模型,而模型类的职责是实现业务逻辑。

创建一个共享程序集。称之为合同或模型,并在WPF和MVC 之间共享

最新更新