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的更多相关文章

  1. 9宫拼图小游戏(WPF MVVM实现)

    昨天逛论坛,看到一个哥们用WPF做了一个9宫的拼图游戏,发现初学WPF的人都很容易犯一个错误(我也犯过):把WPF当WINFORM用!所以想写一个比较符合WPF风格的版本,于是就抽工作的空余时间做了一 ...

  2. 【小错误】WPF代码报错:未将对象引用设置到对象的实例。

    今天编写动态创建Image对象的代码时候,报出了下面的错误: 起初还以为我创建的BitmapImage对象出现了问题,设置断点调试了下代码发现BitmapImage里面是有数据的. 我就郁闷了,后来发 ...

  3. Wpf之布局

    Wpf之布局 上一章大家有了自己的一个Hello World的wpf程序,今天咱们就一起走进WPF,一起来看看wpF的前台xaml这门语言的魅力. 写过web 的人都知道布局这个概念,在web中布局和 ...

  4. Ay.Framework.WPF 2.0建立项目到底有多快

    2015-3-31 今天我已经优化了很多地方,让客户使用起来几乎是傻瓜式使用了,废话不多说,我们开始吧. 默认的我提供了一些图片,但是也只占用了8M多,2.0版本目前总共有45M左右大小,毕竟包含了f ...

  5. 《Programming WPF》翻译 第7章 3.笔刷和钢笔

    原文:<Programming WPF>翻译 第7章 3.笔刷和钢笔 为了在屏幕上绘制一个图形,WPF需要知道你想要为图形填充什么颜色以及如何绘制它的边框.WPF提供了一些Brush类型支 ...

  6. WPF案例 (三) 模拟QQ“快速换装"界面

    原文:WPF案例 (三) 模拟QQ"快速换装"界面 这个小程序使用Wpf模拟QQ快速换装页面的动画特效,通过使用组合快捷键Ctrl+Left或Ctrl+Right,可实现Image ...

  7. 谈谈DOMContentLoaded:Javascript中的domReady引入机制

    一.扯淡部分 回想当年,在摆脱写页面时js全靠从各种DEMO中copy出来然后东拼西凑的幽暗岁月之后,毅然决然地打算放弃这种处处“拿来主义”的不正之风,然后开启通往高大上的“前端攻城狮”的飞升之旅.想 ...

  8. ThoughtWorks持续集成平台GO开源了

    ThoughtWorks 持续集成平台Go最近宣布开源了.其基于Apache 2.0 开源协议. Go下载地址为http://www.go.cd/download/. 下面是几张来自官方的视图: GO ...

  9. 程序员的出路在哪里?挣钱的机会来了续-福利来了,仿QQ界面,放出全部源码,打造创业框架及实现思路

    上一篇:程序员的出路在哪里?挣钱的机会来了!, 原来搞技术,挣钱,不一定非得要多高精尖,有时候抓住小白用户,解决他们一个很小但是很常用的功能,也是一条很好的出路. 其实很多软件产品,要实现出来没有你想 ...

随机推荐

  1. BZOJ 1877: [SDOI2009]晨跑(费用流)

    看到要求两个量就下意识的想到了费用流= =,先把一个点拆成两个点就能够解决一个的只经过一次的限制 CODE: #include<cstdio>#include<iostream> ...

  2. java与javac的区别

    1.前提:java分为两部分 一个是编译(javac命令),一个是运行(java命令) 2.java与javac的区别 javac负责的是编译,将.java文件编译成.class文件,当执行javac ...

  3. python算法(一)

    python算法(一) 一.求数x的因子 x=100 divisors=()#初始化空的元组 for i in range(1,x): if x%i==0: divisors=divisors+(i, ...

  4. 深入源码剖析String,StringBuilder,StringBuffer

    [String,StringBuffer,StringBulider] 深入源码剖析String,StringBuilder,StringBuffer [作者:高瑞林] [博客地址]http://ww ...

  5. JavaScript实现评论点赞功能

    通过分析评论功能的逻辑关系,学会如何使用JavaScript实现评论.回复.点赞等各种功能 1.学会JavaScript处理日期和时间. 2.掌握Dom操作中的添加/删除子节点方法. 3.使用setT ...

  6. 算法模板——平衡树Treap

    实现功能如下——1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数,因输出最小的排名)4. 查询排名为x的数5. 求x的前驱(前驱定义为小于x,且最大 ...

  7. UISearchController 搜索

    UISearchController实现搜索 通过 UISearchController 实现 UISearchResultsUpdating 这个委托实现上面的效果: 视图中中需要声明UISearc ...

  8. java笔记---equals和==的区别

    摔在这里几次,还是记下来吧.原文:http://www.cnblogs.com/shenliang123/archive/2012/04/16/2452156.html --------------- ...

  9. gitoschina使用入门

    1 下载git sudo apt-get install git 2 添加公钥:terminal:  ssh-keygen -t rsa -C "git.oschina.net" ...

  10. 取出关联数组的key值和values值

    取出关联数组的key值,可用 array_keys()取出; <?php $a=array("Volvo"=>"XC90","BMW&qu ...