XAML Properties and Events in XAML Simple Properties and Type Converters To bridge the gap between string values and nonstring properties, the XAML parser needs to perform a conversion. The conversion is performed by type converters, a basic piece of…
一.构建ViewModels 设计模式的其中一个目标就是抽象构造一个给出指定类型的对象或者实现指定类型的接口的过程.需要把类给客户端,让客户端去使用,但是要隐藏类是具体的实现细节. 1.1The Application 在View中有个一个App,实现Application这个文件可以用来管理ViewModels. xaml: <Application x:Class="MvvmWpfApp.App" xmlns="http://schemas.microsoft.co…
一.分离关注点 目的是确保每一个模块值有单一的,明确的目的,不需要去负责其他的功能.单一的目的也称为关注点. 1.1依赖 引用程序集对于依赖来说不是必须的.依赖关系可能也存在于一个代码单元要知道另一个单元,如果是一个类需要使用另外一个类,那么前者就是依赖于后者,特别的依赖还存在于类的方法,属性,以及构造器.强烈建议把类的接口和实现分开. 上面两端代码是实现同样的目的,实现画出一个形状 /*唯一能画出来的是一个圆,每次图形改变时,有可能需要画矩形,DrawShape必须改变,这样增加了维护成本 *…
一. 起步 1. 集中式版本控制缺点:中央服务器的单点故障. 分布式版本控制优点:客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来. 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复. 因为每一次的提取操作,实际上都是一次对代码仓库的完整备份. 它也有中央服务器的概念,不过这也只是类似于其他备份的客户端,作用只是利于其他客户端克隆而已. 2. 直接记录快照,而非文件差异. Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整…
Git 分支介绍. 几乎所有的版本控制系统都以某种形式支持分支. 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线. 在很多版本控制系统中,这是一个略微低效的过程--常常需要完全创建一个源代码目录的副本.对于大项目来说,这样的过程会耗费很多时间. 有人把 Git 的分支模型称为它的"必杀技特性",也正因为这一特性,使得 Git 从众多版本控制系统中脱颖而出. 为何 Git 的分支模型如此出众呢? Git 处理分支的方式可谓是难以置信的轻量,创建新分支这一操作几乎能在…
在工作目录中初始化新仓库 要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行git init 检查当前文件状态 要查看哪些文件处于什么状态,可以用git status命令 将工作文件修改提交到本地暂存区 通过git add <file>可以将文件提交到本地暂存区,如果你git add a.txt之后修改了a.txt的内容,则你需要再次git add a.txt,否则本地暂存区保存的是修改前的a.txt 忽略文件 一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现…
分支 新建分支:git branch 分支名 切换到该分支:git checkout 分支名 补充:以上两条语句等价于一句:git checkout -b 分支名 转换分支的时候最好保持一个清洁的工作区域.(也就是commit之后再转换) Git 会把工作目录的内容恢复为检出某分支时,它所指向的那个 commit 快照. 将A分支合并到主分支 master: git checkout master git merge A 当master是A的直接祖先时:快速合并完成 当master与A有共同祖先…
Git 1 - Getting Started Git 的特点 Git 存储每个版本的快照:其他 VCS(版本控制系统) 存储两个版本的变化之处 好处参考 Git 分支章节 Git 几乎所有操作都是本地的:其他 VCS 需要远程服务器 这是因为 Git 在本地磁盘上有项目的整个历史.好处有两点,其一,访问速度很快:其二,断网时同样可以使用,upload 时再联网即可. Git 具有完整性 store 之前,先进行 SHA-1 哈希算法校验,将检验和(40位16进制数)与其联系,所以每次修改 Gi…
Git 2 - Git Basics 1 add github 上建立新的 repository,命名 demo git clone 到本地 github 目录 将自己之前的项目 copy 到该 demo 目录下 运行 cat .gitignore 注意: .gitignore的目录并不一定要是根目录,比如在 try 文件夹下建立一个 .gitignore 来设置 try 文件夹中的忽略文件:$ cat try/.gitignore 即可.其 ignore 的内容为 rd.txt /rd/ 如果…
说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 这一部分我们重点讨论下Silverlight的网络与通讯功能.2.0版起,Silverlight支持多种模式的网络访问,从最原始的Silverlight控件支持的JavaScript方法,到Silverlight Framework内置的通过C#操作的各种类,几乎可以实现任意你想实现的功能.下面我们逐一讨论这些方法: 通过Silverlight控件的J…