- 博客(13)
- 资源 (18)
- 问答 (1)
- 收藏
- 关注
原创 设计模式之访问者模式
访问者模式: 表示一个作用于某对象结构中的各元素的操作。它使你在不改变各元素的类的前提下定义作用于这些元素的新操作。 理解: 在这个对象结构中只有男人和女人,将Action抽象类作用于这两个元素,而Action里可以增加、删除任何操作,比如成功、失败、恋爱,而这些作用之间是没有影响的,符合开-闭原则,这样就将数据结构
2014-02-25 17:19:39 1261 20
转载 C#之hashtable
在学习设计模式中的享元模式,写到hashtable,不知道是什么作用,于是查了一下。一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Has
2014-02-21 21:36:49 1198 16
原创 设计模式之单例模式
单例模式: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。通常我们可以让一个全局变量是使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法即时让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。 结构图:
2014-02-19 20:18:05 1262 16
原创 设计模式之部分-整体模式
组合模式: 是将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。组合是对象的集合,而其中的任何一个对象又可能是一个组合,或者是一个简单的对象。在树形结构中,访问组合中所有的对象要求有一个简单的单一访问接口,但同时要求能够区分开节点和叶子。在构造组合的时候,我们需要决定哪个节点是元素哪个是叶子。在这里我们可以
2014-02-18 21:36:44 2262 16
原创 设计模式之备忘录模式
备忘录模式: 在不破坏封装性的前提下,铺货一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 备忘录模式结构图: Originator(原生者): 需要被保存状态以便恢复的那个对象。
2014-02-18 15:02:29 1267 17
原创 设计模式之观察者模式与事件委托
观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自己更新自己。 观察者结构模式图: 结合例子: static void Main(string[] args) { //老板dandan
2014-02-16 21:36:55 3133 17
原创 设计模式之建造者模式与工厂方法模式
建造者模式: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式结构图: 产品类(Product):一般是一个较为复杂的对象,也就是说创建对象的过程比较复杂,一般会有比较多的代码量。在本图中,产品类是一个具体的类,而非抽象类。实际编程中,产品类可以是由一个抽象类与它的不同实
2014-02-16 15:53:35 2608 16
原创 设计模式之工厂方法模式
工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 产生:说到工厂模式,我想大家就能想到简单工厂模式,由于在简单工厂模式中当需要扩展功能时就需要修改原类,这违背了开放-封闭原则,而工厂方法模式则将类的实例化延迟到子类,避免了类的修改,下面是两种模式结构图: 1、简单工厂模式结构图:
2014-02-15 16:06:01 1292 19
原创 设计模式之装饰模式
装饰模式,动态的给一个对象添加一些额外的职责,就增加功能而言,装饰模式比生成子类更为灵活。这种模式可以有效的将类的核心职责和装饰功能区分开来。
2014-02-15 14:02:16 1288 13
原创 设计模式之代理模式
代理模式,我想大家一听表面的意思能得到一些信息,就是代理工作,为什么会产生这种模式呢?因为它可以使面向对象的复用性和灵活性增强。用一个很形象的例子来说明一下,比如说一张支票或银行汇票是对一个账户上资金的代理,支票能代替现金购买,最终能控制访问开证人账户上的现金,如果我们拿几车现金去购买东西,岂不是很费力,而用一张小小的支票代理就完全搞定了。 下面是代理模式的结构图:
2014-02-13 20:23:21 1340 13
原创 设计模式之简单模式与策略模式
最近在学习简单工厂模式与策略模式时,发现他们有很多相同之处,他们都是通过多态来实现不同子类的选取,比较难分辨,于是做了一下总结。 简单工厂模式用于比如算法之于加减乘除、水果之于苹果梨香蕉、文具之于笔尺,这些例子的共同特点就是具体、数量有限,不涉及复杂的算法,简单工厂模式只是解决了对象的创建问题,工厂类中封装了所有的选择过程,如果对象要增加、减少、变化,就要改动工厂,以至于代码的重写量
2014-02-12 20:59:48 1531 13
原创 设计模式之面向对象基础
最近看设计模式,这本书我特别喜欢,内容也很好理解,读起来有些上瘾,哈哈,一开始看了看面向对象基础,之前接触过面对对象基础,对面向对象三大特性有了进一步的理解,下面做个总结: 1、封装 概念:每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装。 理解:就像一个大盒子
2014-02-10 16:24:04 1509 26
原创 C#之DatabaseHelper
在C#最后的一个加密解密的实例中,说到了DatabaseHelper,DatabaseHelper是一种能连接4中数据库的DatabaseHelper类,也就是说在连接数据库时,你的数据库可能是SQL Server,可能是OLEDB或者其他的,为了让数据库连接,查询等不受影响,我们就需要这样一个中介可以连接不同的数据库——DatabaseHelper。下面是实战中DatabaseHelper的一段
2014-02-05 20:45:09 4089 18
《Head First设计模式》高清完整PDF版
2018-02-24
asf与vag同步
2015-12-27
oracle客户端navicat
2015-04-18
用MD5算法均匀散列将文件均匀分布到不同的目录下怎么做?
2016-11-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人