41
|
Jon Galloway · 技术社区 · 16 年前 |
![]() |
1
32
我肯定认为您应该为Silverlight应用程序使用MVVM模式——该模式的一个好处是,通过一些简单的技术,您实际上可以使您的应用程序真正变得可以使用。我经常将“可伸缩性”称为“可设计性设计”——即使用某些技术来确保应用程序在混合中看起来很棒。 Torbj rn指出,其中一种技术是使用依赖注入框架,并根据代码是在混合或浏览器中执行,为外部服务提供不同的实现。因此,我将容器配置为在代码以混合方式执行时使用虚拟数据提供程序,这样就可以获得对列表框、数据网格等的设计时支持。 挑战通常是如何声明性地设置DataContext,因此我经常使用服务定位器类A“前端”到IOC容器。这样我就可以将数据上下文绑定到服务定位器上的属性。 另一种技术是创建某种具有两个属性的ObjectDatasource控件(非可视):设计时DataContext和运行时数据上下文。控件执行的任务是检测正在执行的位置,然后将父DataContext设置为正确的对象。 |
![]() |
2
4
我不确定能否回答你的问题,但我发现下面这篇文章很有价值。 Jonas Follesø 在设计/混合模式下使用ninject关闭服务。很不错的! http://jonas.follesoe.no/YouCardRevisitedImplementingDependencyInjectionInSilverlight.aspx |
![]() |
3
3
I also agree with Jonas 关于带Silverlight的MVVM。我相信MVP也是一个不错的选择,但是最近我有时间用Silverlight同时尝试MVP和MVVM,而且我对MVVM的结果感到更高兴。(是的,我越是使用MVVM就改变了主意)。虚拟机从MVVM中的视图(显然)抽象出模型的绑定,这允许使用比MVP更多的绑定场景(至少更清洁的方法)。不过,这只是一个方面。 我将在我的网站上发布一些MVP和MVVM的示例。 |
![]() |
4
2
我已经尝试了一些选择,我将MVVM作为我的最佳选择。可混用性是一个重要的点,我也发现虚拟机方面直观的装配动态行为和程序效果和动画(如nikhil的silverlight.fx)。在某一点上,我试图避免通过流畅的界面完全混合,但是从长远来看,我发现UI和行为之间的耦合太痛苦了。我想在Blend中设计我的UI,然后在代码中添加效果和其他行为,这证明了这是迄今为止我能遵循的最佳模式。 |
![]() |
5
2
我认为我们中的许多人都在等待先驱者的到来,在Silverlight中使用MVVM(和WPF)创建真正好的示例应用程序。有许多棘手的方面,如 lack of ICommand in Silverlight 或 interacting with animations 仅使用数据绑定启动和停止。 不过,这绝对是一个观察未来的模式,如果你不介意偶尔在你不太明白的地方“作弊”,那就值得尝试一下。 |
![]() |
6
2
我喜欢ViewModel模式,并强烈推荐它。我的博客上有一些“开始使用ViewModel”类型的文章。 |
![]() |
7
2
I agree with Jonas . MVVM似乎是最适合我的模式(尽管约翰·帕帕认为MVP更有意义)。我在三月份发表了一篇关于这方面的MSDN文章,希望能为一个好的例子回答这个问题。 顺便说一句,我想在MVVM框架部门看到一些内聚。目前还没有一个好的框架解决方案。我喜欢jonas(我认为jonas是fx框架),但由于它与wpf不兼容,对某些人来说可能不是正确的选择。 |
![]() |
8
1
我最近在几个不同的Silverlight项目上使用了MVVM,它运行得非常好,我肯定会推荐它。 Jonas's post 是个很好的开始的地方,我最近 blogged 在我的MVVM体验中,也创建了一个非常简单的解决方案来演示主要的接触点。 |
![]() |
9
1
对MVVM模式有一个非常好的TechDays 2010视频介绍,清楚地解释了: 对于需要更高程度自动化测试的更复杂的应用程序来说,这无疑是有意义的,而且从DependencyProperties到DataContext绑定的转变比它的ASP.NET对应的更为简洁。 我发现Silverlight最大的挑战是测试实际的用户界面(我认为到目前为止有一个商业框架),以及在使用WCF服务(或与此相关的WebClient)和Silverlight时所遇到的巨大的事件调用纠结。 |
![]() |
10
0
我一直认为MVVM和PresentationModel http://martinfowler.com/eaaDev/PresentationModel.html 基本上是一样的。演讲模式更容易说。 我在Java Swing、Windows窗体、WPF和Silverlight中成功地使用了它。如果您从关注点分离的角度考虑,那么表示模型就非常有意义。你有一个班级,他们唯一关心的是提供一个演示友好的模型。用什么技术在屏幕上显示它真的不重要。它可能会更改一些实现细节,但无论您如何显示信息,将关注点分开都是一个好主意。 由于这种分离,不管视图技术如何,您都可以轻松地针对表示模型编写测试。所以这是一个优势。 |
![]() |
11
0
随着P&P于2009年2月发布Prism V2,对MVVM的更好支持现在可用于Silverlight和WPF。见 microsoft.com/compositewpf 了解更多详细信息。 |
![]() |
12
0
看看我在现实生活项目中关于MVVM和Silverlight的文章,然后自己决定。 http://alexburtsev.wordpress.com/2011/03/05/mvvm-pattern-in-silverlight-and-wpf/ |
![]() |
Vedant · 如何解决python啦啦队长问题?[已关闭] 2 年前 |
![]() |
cobby · 在战略模式中使用工厂模式? 2 年前 |
![]() |
Nobody · Java中带while循环的三角形模式 2 年前 |
![]() |
Eduard Stefanescu · 如何在层之间传输异常? 6 年前 |
![]() |
D. Schreier Talha Noyon · 对于目录中的每个类 6 年前 |
![]() |
Tanvi Jaywant · 如何重载类 6 年前 |