新人小达之wpf
Wpf学习之路……
第一次写微博,可能内容不够精细,但目的就是把问题讲明白,让看到文章的小伙伴们少走弯路。
由于公司的需要,需要学习.net的一门新技术—wpf.
要说wpf是什么框架?模式?架构? 我认为100个人可能有一百个结论。
在这里我只说我自己的理解,大神有异议的咱们可以讨论。
首先架构:架构是对一个软件(一个平台、一个系统)整体的分布,将各个功能部分划分成一个个的模块,然后所有的模块组合起来就是一个完美的系统。举个例子,一辆汽车有轮子、发动机、车身、底盘、车内饰……等,一个单独的部分并不能让你驾驶汽车跑高速对吧,但一旦所有的零件组合起来就是一辆时速可以达到120km/H的汽车。
然后框架:框架就像是一个由很多的dll组成的dll库,在一个平台中你可以应用里面所有的dll,这个开发会让你很省力。举个开发的例子,在.net 中我们大部分的开发都是基于.net framework这个平台的,很大一部分你需要的功能,你只需要打开(引用)一个个的命名空间(房间)就可以找到你想要的功能。咱们在微软上的操作系统中(windows)进行开发,但是咱们并没有直接的操作操作系统中的一些功能,为什么呢?因为微软帮咱们在操作系统这个平台上搞了一个针对开发文员的平台框架.net framework.
最后咱们谈谈模式,我忘了从哪看过一句介绍模式:开发模式,就是为了解决一些特定的问题的开发习惯。我觉得说的很对,后边慢慢解释。我目前在.net中接触过的开发模式有:mvc、mvp、mvvm其中咱们这次学习的主题就是mvvm,没错wpf这一门.net的技术应用的开发模式就是mvvm.
所以最后在这我的理解就是wpf是一门应用mvvm开发模式的在.net framework这个框架之上的一个小的框架。
敬请关注下一章,新人小达。
新人小达之wpf的更多相关文章
- 9宫拼图小游戏(WPF MVVM实现)
昨天逛论坛,看到一个哥们用WPF做了一个9宫的拼图游戏,发现初学WPF的人都很容易犯一个错误(我也犯过):把WPF当WINFORM用!所以想写一个比较符合WPF风格的版本,于是就抽工作的空余时间做了一 ...
- 【小错误】WPF代码报错:未将对象引用设置到对象的实例。
今天编写动态创建Image对象的代码时候,报出了下面的错误: 起初还以为我创建的BitmapImage对象出现了问题,设置断点调试了下代码发现BitmapImage里面是有数据的. 我就郁闷了,后来发 ...
- Wpf之布局
Wpf之布局 上一章大家有了自己的一个Hello World的wpf程序,今天咱们就一起走进WPF,一起来看看wpF的前台xaml这门语言的魅力. 写过web 的人都知道布局这个概念,在web中布局和 ...
- Ay.Framework.WPF 2.0建立项目到底有多快
2015-3-31 今天我已经优化了很多地方,让客户使用起来几乎是傻瓜式使用了,废话不多说,我们开始吧. 默认的我提供了一些图片,但是也只占用了8M多,2.0版本目前总共有45M左右大小,毕竟包含了f ...
- 《Programming WPF》翻译 第7章 3.笔刷和钢笔
原文:<Programming WPF>翻译 第7章 3.笔刷和钢笔 为了在屏幕上绘制一个图形,WPF需要知道你想要为图形填充什么颜色以及如何绘制它的边框.WPF提供了一些Brush类型支 ...
- WPF案例 (三) 模拟QQ“快速换装"界面
原文:WPF案例 (三) 模拟QQ"快速换装"界面 这个小程序使用Wpf模拟QQ快速换装页面的动画特效,通过使用组合快捷键Ctrl+Left或Ctrl+Right,可实现Image ...
- 谈谈DOMContentLoaded:Javascript中的domReady引入机制
一.扯淡部分 回想当年,在摆脱写页面时js全靠从各种DEMO中copy出来然后东拼西凑的幽暗岁月之后,毅然决然地打算放弃这种处处“拿来主义”的不正之风,然后开启通往高大上的“前端攻城狮”的飞升之旅.想 ...
- ThoughtWorks持续集成平台GO开源了
ThoughtWorks 持续集成平台Go最近宣布开源了.其基于Apache 2.0 开源协议. Go下载地址为http://www.go.cd/download/. 下面是几张来自官方的视图: GO ...
- 程序员的出路在哪里?挣钱的机会来了续-福利来了,仿QQ界面,放出全部源码,打造创业框架及实现思路
上一篇:程序员的出路在哪里?挣钱的机会来了!, 原来搞技术,挣钱,不一定非得要多高精尖,有时候抓住小白用户,解决他们一个很小但是很常用的功能,也是一条很好的出路. 其实很多软件产品,要实现出来没有你想 ...
随机推荐
- JS 基础学习随想
2012年就已经接触过了js,给我的印象:这是一门谈不上复杂的语言.大概这就是所谓的学的越浅,用的越少,觉得自己会的东西好像得更多吧!开始做基础练习题的时候觉得好像都十分简单.可是后来在做到对象数组的 ...
- 1305 Pairwise Sum and Divide
1305 Pairwise Sum and Divide 题目来源: HackerRank 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 有这样一段程序,fun会对 ...
- P177 test 6-3 UVa536
//P177 test 6-3 #include<cstdio> #include<cstring> using namespace std; +],s2[+]; int re ...
- java后端学习流程
首先,我个人比较推崇的学习方法是:先学java前段,也就是HTML,css,js,因为学习java以后肯定是往java ee方向发展的,学习完前端,在学习后端很多东西比计较容易理解! 其中J2SE是关 ...
- ldd获得可执行程序的所有库并输出到指定目录
#!/bin/bash ########################################################################## #ldd可以查看程序的库依 ...
- Pin学习笔记--安装及一些基本知识
具体请见用户手册Pin 3.2 User Guide https://software.intel.com/sites/landingpage/pintool/docs/81205/Pin/html/ ...
- hibernate动态切换数据源
起因: 公司的当前产品,主要是两个项目集成的,一个是java项目,还有一个是php项目,两个项目用的是不同的数据源,但都是mysql数据库,因为java这边的开发工作已经基本完成了,而php那边任务还 ...
- CSS1,CSS2选择器详解
第一.CSS1选择器: 1.元素选择器(也叫标签选择器,是最基本的选择器) <style> html{background-color: red;} div{background-colo ...
- C# 字符串比较大小 string.Compare()方法
string.Compare方法,用来比较2个字符串值得大小 string.Compare(str1, str2, true); 返回值: 1 : str1大于str2 0 : str1等于str2 ...
- setTimeout的妙用2——防止循环超时
上个周日,介绍了如何使用setTimeout代替setInterval进行间歇调用,这个周日,继续来讲<JavaScript高级程序设计>这本书里面,对于setTimeout的另一种妙用- ...