我想开发2个应用程序,一个是WPF Window Application和ASP.Net MVC应用程序。
因此,我们确实为这两个应用程序提供了相同的数据访问层和业务层。
我们也可以为这两种应用使用相同的模型。
请注意: 担心不是DAL,而是我的模型项目。
模型项目包含实体。
我的实体包含与WPF相关的功能,如InotifyPropertychanged,observablecollection。
如果我正在为MVC使用相同的实体,那么它真的是开销吗?
非常感谢帮助。
答案 0 :(得分:1)
该模型将引发所有未被侦听的事件 - 维护调用列表并检查是否存在侦听器会产生一些开销。所有这些都可能是非常小的开销 - 可能不值得担心。
真正的问题在于适用性 - WPF和MVC是非常不同的,并且您与每个应用程序开发的应用程序肯定是不同的。这意味着您需要将模型更改为一个或另一个套件,但是如果在某些情况下并非不可能,那么将其演变为套件两者可能非常棘手。
你应该从MVC获得一个不同的WPF视图模型,因为一个模型不太可能同时兼顾它们。
答案 1 :(得分:1)
是的,这是可能的。您可以隔离域模型并在两种情况下使用它。但是,您不应该将特定的相关技术内容放入您的实体中。
我的建议是面向服务的应用程序。使用WCF,REST或类似服务来使用模型,并且(桌面和Web)都使用这些服务来检索它们进行演示所需的数据。您将封装您的域模型,因此它不会了解您的演示技术。
然后,您可以从服务中获取数据,并根据演示文稿的图层技术构建自己的模型对象。
答案 2 :(得分:0)
可以使用包含Entity的模型项目。 关于头脑的选择将是存储库模式和使用的实现。 如果您想使用相同的模型项目,请参阅文章WPF Application framework(WAF)。