ui选择

MVC全名是Model View Controller,MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。

MVC指MVC模式的某种框架,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + servlet + javabean的模式。

MFC: Duilib,彩虹UI,BlotUI等 

WPF

缺点:

链接:https://www.zhihu.com/question/26862663/answer/76386239
1、内存占用高,基于.net的反射机制和wpf的内部机制,你想把控内存真心是难,只能一定程度控制,c++就不一样,内存是可控的

2、功能太多导致学习成本非常高,传统开发理念需要转换MVVM,但由于控件支持不完善,会出现不伦不类的情况
3、平台推广不利,这个才是最大原因,可以说是本人在.net多年学了很多,写代码是需要思考才能积累经验的,这种模式不适合互联网的快速跌代节奏,市场从业的机会太少,导致发展缓慢
4、功能不够完善,ms的客户端技术方案太多了,wpf只是其中一种,本来wp是一个机会,奈何wp又推不起来,个人感觉wp开发功能较wpf缩水厉害,后面又为silverlight加了很多轻量技术方案然后引入wpf,搞得不伦不类,已经把平台分为wpf,sl,wp,win 8 morden ui
5、平台真心混乱 自从 win8出来以后,我看到了win 8 morden ui,看了下sdk,又是一套api,感觉又是一个坑,果断决定放弃了,因为平台没有市场,去学习毫无意义,太多时间耗费在.net平台上了,感觉微软的策略真心是有问题,也得出一个结论,微软是一个比较喜欢玩技术的公司,跟着玩你会发现真的被玩了,现在看ios开发,反而感觉设计的好简单暴力,有时候给太多技术方案给开发人员不是一个好事情
 
WPF的数据绑定与Presentation Model相结合是非常好的做法,使得开发人员可以将
MVVM 功能图 MVVM 功能图
View和逻辑分离出来,但这种数据绑定技术非常简单实用,也是WPF所特有的,所以我们又称之为Model-View-ViewModel(MVVM)。这种模式跟经典的MVP(Model-View-Presenter)模式很相似,除了你需要一个为View量身定制的model,这个model就是ViewModel。ViewModel包含所有由UI特定的接口和属性,并由一个 ViewModel 的视图的绑定属性,并可获得二者之间的松散耦合,所以需要在ViewModel 直接更新视图中编写相应代码。数据绑定系统还支持提供了标准化的方式传输到视图的验证错误的输入的验证
原文地址:https://www.cnblogs.com/qiyuexin/p/13854152.html