我正在 WPF MVVM 中开发一个应用程序,但我还需要在同一解决方案中创建一个 MVC 项目。
我想知道是否有任何方法可以在两个类中重用相同的模型,以及最好的方法,因为满足 MVVM 规范
例如,我需要将“PropertyChanged”添加到我的属性集中,这在 MVC 项目中是不必要的。
我同意@@Douglas Gandini 的观点。您应该在单独的程序集中定义业务对象,您可以从 ASP.NET 和 WPF 应用程序引用该程序集。这些类不应实现任何特定于客户端的接口,例如 INotifyPropertyChanged,而应是仅包含业务逻辑的纯 POCO 类。
然后,在 WPF 应用程序中,您可以创建一个视图模型类,该类实现 INotifyPropertyChanged 接口并包装业务对象的任何属性,这些属性在视图中公开和绑定是有意义的。
然后,视图模型具有对模型的引用,即在单独的程序集中定义的业务对象,该程序集可以在多个不同的客户端应用程序之间共享,并且视图绑定到视图模型。这通常是 MVVM 设计模式在 WPF 应用程序中(或应该)实现的方式。视图模型类包含您的应用逻辑,例如如何在数据绑定属性值更改时通知视图,并且模型包含在所有平台和应用程序中都相同的业务逻辑。
当然,这意味着您最终将拥有更多的班级,但这不一定是坏事,因为每个班级都有自己的责任。视图模型的职责是充当应用程序特定 XAML 视图的模型,而模型类的职责是实现业务逻辑。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)