摘要:
常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。 各种关系的强弱顺序: 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖 阅读全文
摘要:
面向对象设计模式有5大基本原则:单一职责原则、开发封闭原则、依赖倒置原则、接口隔离原则、Liskov替换原则。 1、单一职责原则(SRP): 1.1,SRP(Single Responsibilities Principle)的定义:就一个类而言,应该仅有一个引起它变化的原因。简而言之,就是功能要单 阅读全文
摘要:
设置mysql允许远程访问1.登陆mysql数据库,修改表。use mysql;update user set host='%' where user='root';select host,user from user;flush privileges; 注意:最后一句很重要,目的是使修改生效,如果 阅读全文
摘要:
效果图如下:代码如下: ... 阅读全文
摘要:
公司要进行敏捷开发管理,最后选择Redmine作为管理工具。而Redmine本身的安装非常麻烦,要安装mysql,ruby,redmine,apach。显然这不是一个偷懒的人应该做的,最后找到Bitnami Redmine这个统一桶,傻瓜式一键安装。Bitnami Redmine官网:https:/... 阅读全文
摘要:
很多时候需要将DataTable转换成一组model,直接对model执行操作会更加方便直观。代码如下: 1 public static class DataTableToModel 2 { 3 public static List ConvertToModel(this ... 阅读全文
摘要:
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。下面就是我的学习笔记,对于Javascript初学者应该是很有用的。一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 var n=999; function f1(){ alert(n); } f1(); // 999另一方面,在函数外部自然无法读取函数内的局部变量。 function f1(){ var n=999; }... 阅读全文
摘要:
首先来明确一个问题,那就是在某些情况下,有些对象,我们只需要一个就可以了,比如,一台计算机上可以连好几个打印机,但是这个计算机上的打印程序只能有一个,这里就可以通过单例模式来避免两个打印作业同时输出到打印机中,即在整个的打印过程中我只有一个打印程序的实例。简单说来,单例模式(也叫单件模式)的作用就是保证在整个应用程序的生命周期中,任何一个时刻,单例类的实例都只存在一个(当然也可以不存在)。 下面来看单例模式的结构图(图太简单了)从上面的类图中可以看出,在单例类中有一个构造函数 Singleton ,但是这个构造函数却是私有的(前面是“ - ”符号),然后在里面还公开了一个 GetInstan. 阅读全文
摘要:
.Net3.5之后出现了HashSet<T>,硬翻译过来就是“哈希集合”,跟“哈希”两字挂钩说明这种集合的内部实现用到了哈希算法,用Reflector工具就可以发现,HashSet<T>和Dictionary<TKey,TValue>使用了相同的存储方式和哈希冲突算法,那么,它跟Dictionary<TKey,TValue>和Hashtable在使用上到底有什么不同?HashSet<T>对集合运算的操作HashSet<T>是一个Set集合,虽然List、Collection也叫集合,但Set集合和它们却大有不同。HashS 阅读全文
摘要:
转自:http://www.cnblogs.com/jingzhongliumei/archive/2012/07/02/2573149.html先做点准备工作,定义两个类:Animal类和其子类Dog类,一个泛型接口IMyInterface<T>,他们的定义如下:publicclassAnimal{}publicclassDog:Animal{}interfaceIMyInterface<T>{}一.协变和逆变的定义从.Net Framework 4.0开始引入了一个新特性:协变与逆变,有人翻译为协变和反变,他们实际上所指的就是不同类型之间的一种转变(Variance 阅读全文