摘要: 订阅模式 订阅模式主要涉及到三种对象:订阅对象,发布对象,分发对象。 案例没对这三种对象做抽像,大家可以根据应用场景去扩展。 类图: 常用的实现方式: 订阅对象 //订阅对象 public class Subscribe { public string Name; public Subscribe( 阅读全文
posted @ 2017-11-09 12:17 杜俊强 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 单例模式 类图: 常用的实现方式: 第一种线程安全 public sealed class Singleton { public static readonly Singleton SingletonInstance=new Singleton(); private Singleton() { } 阅读全文
posted @ 2017-11-08 18:05 杜俊强 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 定义:设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。 目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性,设计模式使代码编写真正工程化。 使用:每一种设计模式都是在特定场景下总结出来的,选用时需要根据特定的场景选择,不能为了模式而模式。 下面每种设计模式都是自己 阅读全文
posted @ 2017-11-08 18:04 杜俊强 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 浅析EF性能优化 1. 数据Load 延迟加载:当实体第一次读取时,相关数据没有加载;当第一次试图访问导航属性时,所需的导航数据自动加载,EF默认使用这种方式加载数据,尽量使用预先加载和显示加载。 优点:加载数据快 缺点:数据库交互多次 预先加载:当读取实体时,相关数据同时读取。这通常会导致一个连接 阅读全文
posted @ 2017-08-02 09:22 杜俊强 阅读(1592) 评论(0) 推荐(0) 编辑
摘要: 线性表是最基本也是我们用的最多数据结构,它的存储方式有两种:顺序存储和链式存储。 顺序存储存放在一块连续的内存块中,查找速度快,存放前长度必须固定,所以动态添加和删除较难; 链式存储由数据和指针两部分组成存放在内存中是不连续的,指针指向下一个数据地址,查找只能通过遍历比较慢,长度不是固定的,所以动态 阅读全文
posted @ 2016-08-24 09:31 杜俊强 阅读(1055) 评论(0) 推荐(0) 编辑
摘要: 在画用例图的时候,理清用例之间的关系是重点。用例的关系有泛化(generalization)、扩展(extend)和包含(include)。其中include和extend最易混淆。下面我们结合实例彻底理清三者的关系。 基本概念 用例图(Use Case Diagram):用例图显示谁是相关的用户, 阅读全文
posted @ 2014-09-09 16:36 杜俊强 阅读(7041) 评论(0) 推荐(0) 编辑
摘要: 1. 泛化(Generalization) 【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。 【箭头指向】:带三角箭头的实线,箭头指向父类 2. 实现(Realization) 【实现关系】:是一种类 阅读全文
posted @ 2014-09-09 15:51 杜俊强 阅读(564) 评论(0) 推荐(0) 编辑
摘要: UML中描述对象和类之间相互关系的方式包括:依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition),泛化(Generalization),实现(Realization)等。 依赖(Dependency):元素A的变化会影响元素B, 阅读全文
posted @ 2014-09-09 14:57 杜俊强 阅读(321) 评论(0) 推荐(0) 编辑