• WPF为我们带来了什么?


    正在做的一个项目就是用WPF做的。项目初期做DEMO时也是,同时也是CTO推荐的。但是CTO的考虑却和我们不一样。

    记得做DEMO时,把东西给CTO看后,得到的反馈之一是,为什么用WPF做这么点儿功能用了这么久?怎么还要写逻辑?

    不知道CTO是不是只看过WPF的广告,而没有自己涉足过。似乎在CTO的观念中,WPF是可以极大地减少代码逻辑,增加开发效率的新技术。如果XAML不属于代码的话,前半句算是正确的。但是后半句无论如何是不能做为结论的。要完成功能,就要有逻辑,无论用什么技术,总要把逻辑完整地表达出来。库多做一些,我们少做一些而已。

    那么WPF为我们带来了什么呢?

    评价总要有个比较的对象,就拿WinFormMFC作比较好了。

    相对于上面的两种技术,WPF高度抽象控件的外观表示,分离了控件的外观与逻辑、同时为分离界面与后台逻辑提供了可能。里面的CommandDataBinding其实就是为此服务的。而TemplateStyleAnimation等不过是UI抽象的必然附带结果。

    由于是新发布的产品,不足也是难免的。最直接的一个就是XAML本身其实就是String,而在当前的Visual Studio 2008中进行重构是不会对XAML进行操作的(除了部分类名),增加了代码维护的成本。比如SpinCalandarDataTimePickerDataGridBalloon这些WinForm控件在当前的版本中并没有,.NET 4才会发布几个控件以弥补。现在WPF的缺陷在我的WPF Bug清单系列文章里也有部分描述。

    另外,WPF中所推崇的MVVM很好,但是会带来更高的设计与编码复杂度。

    大家觉得呢?

  • 相关阅读:
    20.12.2 leetcode7
    20.12.1 leetcode34
    20.11.30 leetcode767
    20.11.29 leetcode976
    Codeforces632E 选择/小偷与商店 背包DP
    魔法少女 DP NG放的水
    逆反的01串 模拟 NG放的水
    最大数maxnumber bzoj1012 JSOI2008 单调队列
    组合数问题 vijos2006 NOIP2016 D2T1 杨辉三角 排列组合 前缀和
    信息传递 vijos1979 NOIP2015D1T2 强连通分量 tarjan模版题
  • 原文地址:https://www.cnblogs.com/nankezhishi/p/1377348.html
Copyright © 2020-2023  润新知