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 功能图

View和逻辑分离出来,但这种数据绑定技术非常简单实用,也是WPF所特有的,所以我们又称之为Model-View-ViewModel(MVVM)。这种模式跟经典的MVP(Model-View-Presenter)模式很相似,除了你需要一个为View量身定制的model,这个model就是ViewModel。ViewModel包含所有由UI特定的接口和属性,并由一个 ViewModel 的视图的绑定属性,并可获得二者之间的松散耦合,所以需要在ViewModel 直接更新视图中编写相应代码。数据绑定系统还支持提供了标准化的方式传输到视图的验证错误的输入的验证

ui选择的更多相关文章

  1. 移动前端UI选择

    移动前端UI选择 目录 三.SUI Mobile   一.jQuery Mobile jQuery Mobile 是jQuery在移动设备上的版本,做为主要针对移动设备的框架来说,它提供一个移动设备平 ...

  2. 基于jquery的ui选择之路

    选定: 主框架:jqueryUi tree:ztree grid:jqGrid layout:jquery.layout 原由: 还有其他demo,ajax实现等参看连接: 正在做的一个项目选择jqu ...

  3. 前端学习笔记——移动前端UI选择

    一.jQuery Mobile jQuery Mobile 是jQuery在移动设备上的版本,做为主要针对移动设备的框架来说,它提供一个移动设备平台统一的接口来兼容不同的移动平台,其特性包括: 1.简 ...

  4. swing之UI选择文件

    package gui1; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEve ...

  5. kong的管理UI选择-konga

    目录 npm方式安装 1. 准备依赖环境 2. 安装konga 3. 配置 4. 环境变量(more) 5. 数据库 配置 初始化/迁移 6. 运行 Docker方式安装 关于Kong-Dashboa ...

  6. NX二次开发】Block UI 选择特征

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

  7. 【NX二次开发】Block UI 选择节点

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

  8. 【NX二次开发】Block UI 选择单元

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

  9. 【NX二次开发】Block UI 选择小平面区域

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

  10. 【NX二次开发】Block UI 选择表达式

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

随机推荐

  1. Pycharm import faker 和 colorlog提示“No module name faker/colorlog”

    问题: Pycharm import faker / colorlog,下划线爆红,提示"No module name faker/colorlog" 排查,检查pycharm 该 ...

  2. 开源云同步的markdown写作软件——Yosoro

    文章目录 前言 简便的项目管理 舒服的写作体验 支持one driver 存在缺点 前言 Yosoro是一款支持在Win.Linux.macOS上使用的写作软件.它的界面设计以及交互上表达出的极简主义 ...

  3. Bike Sharing Analysis(二)- 假设检验方法

    假设检验 假设检验是推论统计学(inferential statistics)的一个分支,也就是对一个较小的.有代表性的数据组(例如样本集合)进行分析与评估,并依此推断出一个大型的数据组(例如人口)的 ...

  4. RabbitMQ 3.7.9版本中,Create Channel超时的常见原因及排查方法

    在RabbitMQ 3.7.9版本中,Create Channel超时的常见原因及排查方法如下: 常见原因 网络问题: 网络延迟或不稳定可能导致通信超时. 网络分区(network partition ...

  5. 2024年,AI驱动测试管理工具会有哪些发展前景呢?

    随着人工智能技术的日新月异,2024年的测试管理工具将迎来全新的发展机遇.AI赋能将助力测试管理工具实现前所未有的智能化升级,为软件研发团队带来革命性的变革. 一.什么是AI? 人工智能(AI)是一种 ...

  6. 通过Docker搭建Debezium同步MySQL的数据变化

    Debezium是红帽开发的一款CDC产品,和阿里的Canel类似,都是同步binlog,不过强大了一点点.为了不再麻烦,下面称之为dbz. 达拉崩吧斑得贝迪卜多比鲁翁... dbz的搭建依赖很多中间 ...

  7. python3 webssh

    简介 webssh 是 一个简单的 Web 应用程序,用作 ssh 客户端来连接到 ssh 服务器.它是用Python编写的,基于tornado.paramiko和xterm.js.下面简单搭建一个网 ...

  8. 拟合算法与matlab工具包实现

    与插值问题不同,在拟合问题中不需要曲线一定经过给定的点.拟合问题的目标是寻求一个函数(曲线),使得该曲线在某种准则下与所有的数据点最为接近,即曲线拟合的最好(最小化损失函数) 目录 一.插值和拟合的区 ...

  9. yb课堂 首页home开发 《三十七》

    Home模块开发 拆分子组件 Home banner videoList 指令属性里面取data里面的数据不用加{{}},html标签内容体中间则需要加双花括号 创建component文件夹 在src ...

  10. .NET周刊【7月第1期 2024-07-07】

    国内文章 学习.NET 8 MiniApis入门 https://www.cnblogs.com/hejiale010426/p/18280441 MiniApis是ASP.NET Core中的轻量级 ...