2011-12-07 16:24 by lujiao_cs, 82 visits, 网摘, 收藏, 编辑
摘要:一:格路问题 已知:相邻两点之间的距离(可能不同)。规则:从O点出发,只能向上向右,计算到达E点的最短距离。方法1:枚举法m个X,n个Y进行排列(m + n)!/(m!*n!) = Cm+nm加法:Cm+nm*(m+n-1)比较:Cm+nm – 1方法2:动态规划4, 5 //代表m+1,n+11,-1 2, -1 1,-1 4,-1 -1,-1 //最右边点为终点E4, 11 3, 27 2, 9 7,6 -1, 21, 15 3, 19 2,59 7,16 -1, 187,10 3,20 2,31 7,12 -1, ...
阅读全文
2011-11-16 20:00 by lujiao_cs, 395 visits, 网摘, 收藏, 编辑
摘要:在这片文章中我将解释如何在Silverlight for Windows Phone7中创建一个DataTemplateSelector抽象类以及CustomDataTemplateSelector。DataTemplateSelector可以基于数据对象和数据绑定提供一种方式去选择DataTemplate。特殊情况下,当你对于同一种对象有多个DataTemplate并且你想要按照自己的逻辑去选择DataTemplate应用到各个数据对象的属性的时候需要一些DataTemplateSelector。 总之,DataTemplateSelector使你对于一些特殊项,可以写一些逻辑选择使用...
阅读全文
2011-10-30 17:55 by lujiao_cs, 356 visits, 网摘, 收藏, 编辑
摘要:这篇文章讨论:模式与WPFMVP模式为什么MVVM更加适用于WPF用MVVM构建一个应用程序内容: 专业的软件用户界面开发不太简单。它可能混杂了数据、交互设计、视觉设计、连接、多线程、安全性、国际化、验证、单元测试以及可触摸技术。考虑到用户界面暴露了系统的底层并且必须满足用户的不可预知的需求,它可能是许多应用程序中最不稳定的部分。有一些常用的设计模式可以解决这个问题,但是隔离并且访问这些关注点可能比较难。模式越是复杂,更多的捷径可能会被用到,这些捷径渐渐的破坏了以前所有正确方式做事情的努力。 不总是设计模式的问题。有时候我们会用到复杂的设计模式,由于现有的UI平台不能提供一个很好的设计模式..
阅读全文
2011-09-30 09:51 by lujiao_cs, 142 visits, 网摘, 收藏, 编辑
摘要:系统的复杂度假设我们需要开发一个坦克模拟系统用于模拟坦克车在各种作战环境中的行为,其中坦克系统由引擎、控制器、车轮、车身等各子系统构成。如何使用这样的系统A方案B方案动机(Motivation)上述A方案的问题在于组件的客户和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子系统的演化,这种过多的耦合面临很多变化的挑战。如何简化外部客户程序和系统间的交互接口?如何将外部客户程序的演化和内部子系统的变化之间的依赖相互解耦?意图(Intent)为子系统中的一组接口提供一个一致的界面,Façade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 ——《设计模式》Go.
阅读全文
2011-09-26 00:36 by lujiao_cs, 181 visits, 网摘, 收藏, 编辑
摘要:数据结构1)计算机程序的灵魂计算机程序的灵魂2)数据结构选取的好坏直接决定了算法效率的高低和实现的复杂程度3)数据结构的组织与访问特性数据结构的组织与访问特性,,决定了算法的选取决定了算法的选取与实现List<T>/// <summary>/// List泛型对象实际数据项的个数,一定要与区别_items.Length。(_items.Length >= _size)/// </summary>private int _size;/// <summary>/// 数据项被修改的次数,主要限制在检查过程中对数据的修改(在枚举中实现数据的同步)
阅读全文
2011-09-12 20:52 by lujiao_cs, 130 visits, 网摘, 收藏, 编辑
摘要:子类复子类,子类何其多假如我们需要为游戏中开发一种坦克,除了各种不同型号的坦克外,我们还希望在不同场合中为其增加以下一种或多种功能:比如红外线夜视功能,比如水陆两栖功能,比如卫星定位功能等等。// 抽象坦克public abstract class Tank { public abstract Shot(); public abstract Run();}//各种不同功能的组合public class T50A: T50, IA {…}public class T50B: T50, IB {…}public class T50C: T50, IC {…}public class T50A...
阅读全文
2011-09-12 15:08 by lujiao_cs, 100 visits, 网摘, 收藏, 编辑
摘要:对象容器的问题在面向对象系统中,我们常会遇到一类具有“容器”特征的对象——即它们在充当对象的同时,又是其他对象的容器。public class SingleBox: IBox{ public void process() { ……}}public class ContainerBox :IBox{ public void process(){……} public ArrayList getBoxes(){……}}如果我们要对这样的对象容器进行处理:(客户程序,它必须知道ContainerBox的内部结构。此段客户代码与对象结构代码耦合度太紧,最好是依赖抽象接口的,如:依赖IBox接口。)...
阅读全文
2011-09-10 01:09 by lujiao_cs, 93 visits, 网摘, 收藏, 编辑
摘要:线性结构基础总结一:线性结构的存储1)连续存储(数组) 什么叫做数组:元素类型相同、大小相等2)离散存储(链表) 树和图的基础二:链表1.什么叫链表 n个结点离散分配,彼此通过指针相连。每个结点只有一个前驱结点,各个结点只有一个后驱结点(首结点没有前驱结点,尾结点没有后驱结点)2. 专业术语 首节点:第一个有效节点 尾节点:最后一个有效节点 头节点:在首节点前面,不存放数据,它指向首节点,目的是简化算法,并不存放有效数据头指针:指向头结点的指针变量 尾节点:指向尾结点的指针变量2)链表的分类 单链表: 双链表:每个节点有两个指针域(可以同时指向前后结点) 循环链表:能通过...
阅读全文
2011-09-10 00:09 by lujiao_cs, 131 visits, 网摘, 收藏, 编辑
摘要:耦合与变化耦合是软件不能抵御变化灾难的根本性原因。不仅实体对象与实体对象之间存在耦合关系,实体对象与行为操作之间也存在耦合关系。动机(Motivation)在软件构建过程中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合——比如需要对行为进行“记录、撤销/重做(undo/redo)、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,可以实现二者之间的松耦合。(“直接依赖”——>“间接依赖”)意图(Intent)将一个请求封装为一个对象,从而使你可用不同的请求对客户(行为的请求者)进行参数化;
阅读全文
2011-09-08 23:53 by lujiao_cs, 159 visits, 网摘, 收藏, 编辑
摘要:一)构建DataSet和DataTableDataSet、DataTable和DataColumn的概念1)数据集(DataSet)a)与关系数据库相似的对象模型保存数据:表、行、列b)可以在数据集中定义约束条件与关联2)数据表(DataTable)a)代表了数据集中的表,可以从数据源加载数据b)由数据列组成3)数据列(DataColumn)a)由DataType属性指定对应的数据类型b)需要保持数据列的数据类型与数据库列的类型匹配DataSet对象模型1)普通集合a)数据库中的表(DataTable对象的集合)b)关联(数据关联对象的集合)2)支持数据绑定到Web或者Windows控件3)数
阅读全文