MVVM和IoC的乐趣

时间:2011-11-07 11:23:38

标签: c# .net wpf mvvm inversion-of-control

我正在整理一个应用程序,以帮助管理我们在工作中处理的维修。我被指示沿着WPF路线走下去。简要介绍一下场景;我会说数据结构相当简单,但其不断变化的业务流程使其更加复杂。像任何修理一样,客户可以填写RMA表格,在这个系统中,这将成为一个RMA对象,其中包含一个冗长的属性列表,用于记录客户输入的详细信息,然后是工程师在维修期间输入的详细信息,直到出动。数据存储是受OAuth保护的Web服务器上的数据库。用于检索数据的课程API(即所有

我很好用XAML创建WPF,这是第一个障碍,以及使用Commands +数据绑定的ViewModel / View交互的一些知识。此时我更加坚持架构。首先,人们以不同方式创建/链接View / ViewModel。同样根据我的研究,IoC是要走的路,但我读过的每个教程都使用各种IoC框架(即Unity / Spring)以不同的方式进行。在这一点上,我已经失去了最长的术语,而变化是实现同样事情的方式。

Preview of repair system

以上是应用程序最终结果的截图。最初由我们的网页设计师在photoshop中创建,我把它变成了xaml。显然,显示摘要/作业表的选项卡控件尚未完成:)

正如您所看到的,该应用程序有3个主要区域。

1)带有搜索框的标题

2)侧面按钮列表根据用户角色而变化(这些按照与GMail中的过滤器非常相似,显示所有挂起的维修,已加星标的维修等),中间的选项卡视图。

3)选项卡视图有一个主选项卡(基于点击侧面的按钮),以及其他选项卡,即打开的RMA,客户等。应用程序的想法是您扫描RMA表单上的条形码,将数据(数字)放入搜索框中,该搜索框通过存储库查询Web服务(将RMA数据作为Json字符串获取,从Json构建RMA对象),为其创建ViewModel并将其显示为选项卡。

我已经查看了一些教程,但正如我所说,它们各有不同,并且不确定采取的方法,例如。

Naked mvvm - http://blog.vuscode.com/malovicn/archive/2010/11/07/naked-mvvm-simplest-possible-mvvm-approach.aspx#comments

John Smith - http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

框中的Mvvm - http://karlshifflett.wordpress.com/2010/11/07/in-the-box-ndash-mvvm-training/

问题 考虑到这一点,任何人都可以建议在此应用程序中使用的最佳架构。侧面按钮暗示了一种模块化设计,但是标题,主标签控件,显示RMA细节是系统的核心。 在继续在此项目上实现示例应用程序之前,您是否可以提供示例/ url来合适的教程来构建示例应用程序。

0 个答案:

没有答案