Mvvm Applications And location of Business layer

2019-09-19 08:51发布

I want use MVVM design pattern in WPF and Silverlight Application.
Where can i implement the business logic in WPF or Silverlight application with MVVM design pattern?!!(in Model,ViewModel or other location?!!)

Please describe and link to any sample(s) ...
thank you

2条回答
叛逆
2楼-- · 2019-09-19 09:29

We usually write logic centered on the business objects in ModelView layer and logic required by the wpf pages in the ViewModel

查看更多
Deceive 欺骗
3楼-- · 2019-09-19 09:30

Your business has no place within the MVVM application. You business should be factored out into a separate class library. This has many benefits which I could explain in case you want me to.

So anyway, here's how your solution's structure should look like:

  • [Project].Shared: Service Contracts and Object Model
  • [Project].Data: Interfaces of your data access layer.
  • [Project].Data.Sql: SQL implementation of your data access layer. If you are using Oracle, that would be [Project].Data.Oracle. Catch the drift?
  • [Project].API: Business managers. ALL of your application's business should be encapsulated and isolated in this layer.
  • [Project].Services: Service implementations.
  • [Project].UI.MainApplication: Your WPF main application.
  • [Project].UI.Shared: Has all what is common among all of your WPF client applications. Moreover, you should add the Object Model classes and Service Contract interfaces as links into this project.
  • [Project].UI.[OtherApp]: In case you want to separate your UI into modules (I strongly recommend that).

Basically, the "M" in MVVM will be the Object Model itself, unless a View needs some model which comprises properties from different objects... etc.

查看更多
登录 后发表回答