序:
我知道,有几个主题讨论MVVM以及它是如何好(或坏)但我的问题有点不同:我想知道是否确实存在任何使用部分或完全MVVM的成功项目,所有这些都是设计师的观点。
我正在使用MVC(web)开始另一个项目,我有一些使用它的经验,它可以很好地分离工作层,我可以让设计师在html(dreamweaver)工作,然后程序员做“代码背后” (visual studio,notepad ++ ..),最后是一个做持久层的数据库人(sqlyog,toad,sql server management studio)。
我的假设:
但我对MVVM(silverlight和wpf)的问题在于我没有找到适合每个角色的工具和我认为(以及我对MVVM的怀疑)大多数MVVM作品完全由程序员完成,完全打破了分层的理想。理论上,只存在两个工具(不包括数据库部分):visual studio和expression blend / studio。
我的问题:
Expression Blend(Expression Studio)是否适合设计师?如果发生这种情况,那么表达式blend / studio + MVVM适合设计师吗?因为,在第一个视图中,我认为表达式混合对于大多数设计师而言过于复杂,但我认为他们几乎无法管理它,但是,如果我们将MVVM工作的一部分添加到设计师中,那是否过度了?
另外一个事实是,显然不是每个项目都是混合兼容的(是真的吗?)
ps:我知道有很多聪明的设计师也可以编程(例如,设计师可以做jquery的东西),但这不是理想的,因为我们希望设计师做“美化部分”和/或比codemonkey便宜
答案 0 :(得分:2)
Expression Blend是一款专门针对设计师的工具。此外,在正常的工作流程中,Blend仅负责MVVM的View部分,设计者不应该考虑其他任何事情。我知道它很复杂,但Dreamweaver也是如此,对于不熟悉它的人来说也是如此。像任何新技术一样,培养熟练程度需要一段时间。
是的,程序员需要小心谨慎,不要破坏Blend设计时功能,并且可以实现一些功能,使设计人员更容易工作(特别是设计时数据)。
我参与了一些使用这个工作流程的内部项目,而且经验很棒(作为开发人员),但YMMV。
答案 1 :(得分:0)
你是对的,mvvm比网络编程更少“分离”。例如,设计人员必须等到程序员不构建视图模型和视图的体系结构。
所以有两种方法:
在asp.net第二种方式更好。但在mvvm我更喜欢第一种方式。 (因为xaml特定于程序员datatemplates和datatriggers)。
并非每个项目都是兼容的(是真的吗?)
是的,即使我的项目有时也会有不兼容的用户控件。例如,如果从类构造函数中调用wcf-service,则会在设计模式中出现错误。