随笔分类 -  设计模式

包括有关设计模式的读书感想和亲身经历的项目在设计模式上的总结
摘要: 这段时间在项目中接触到了Strategy策略模式,所以就学习了一下,做一个总结。 Strategy策略模式是一种对象行为模式。主要是应对:在软件构建过程中,某些对象使用的算法可能多种多样,经常发生变化。如果在对象内部实现这些算法,将会使对象变得异常复杂,甚至会造成性能上的负担。 阅读全文
posted @ 2006-12-15 08:45 KiddLee 阅读(7202) 评论(20) 推荐(2) 编辑
摘要:Command命令模式是一种对象行为型模式,它主要解决的问题是:在软件构建过程中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”的问题 阅读全文
posted @ 2006-11-18 22:59 KiddLee 阅读(15880) 评论(5) 推荐(0) 编辑
摘要: Template Method模板方法模式是一种行为型模式,具体点说是行为类型模式。主要解决在软件构建过程中,对于某一项任务,常常有稳定的整体操作结构,但各个子步骤却有很多改变的需求,或者由于固有的原因而无法和任务的整体结构同时实现 阅读全文
posted @ 2006-11-12 11:37 KiddLee 阅读(4170) 评论(2) 推荐(1) 编辑
摘要:结构型设计模式是从程序的结构上解决模块之间的耦合问题(好像是句废话),GoF23种设计模式中结构型设计模式有7种,分别是:Adapter适配器模式、Bridge桥接模式、Composite组合模式、Decorator装饰模式、Facade外观模式、Flyweight享元模式和Proxy代理模式。 阅读全文
posted @ 2006-11-11 10:24 KiddLee 阅读(10132) 评论(0) 推荐(1) 编辑
摘要:GoF23种设计模式中创建型模式有5种,分别是:Singleton单件模式、Abstract Factory抽象工厂模式、Builder生成器模式、Factory Method工厂方法模式、Prototype原形模式。下面分别总结这几种设计模式 阅读全文
posted @ 2006-10-25 18:12 KiddLee 阅读(5403) 评论(5) 推荐(0) 编辑
摘要:Proxy代理模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。 阅读全文
posted @ 2006-10-18 10:27 KiddLee 阅读(28502) 评论(5) 推荐(6) 编辑
摘要:Flyweight享元设计模式是一种结构型设计模式,它主要解决的问题是:由于(同类)对象的数量太大,采用面向对象时给系统带来了难以承受的内存开销。 阅读全文
posted @ 2006-10-17 10:34 KiddLee 阅读(5886) 评论(1) 推荐(0) 编辑
摘要:Facade外观模式,是一种结构型模式,它主要解决的问题是:组件的客户和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子系统的演化,这种过多的耦合面临很多变化的挑战。 阅读全文
posted @ 2006-07-10 08:46 KiddLee 阅读(28274) 评论(17) 推荐(4) 编辑
摘要:Decorator装饰模式是一种结构型模式,它主要是解决:“过度地使用了继承来扩展对象的功能”,由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀(多继承)。继承为类型引入的静态特质的意思是说以继承的方式使某一类型要获得功能是在编译时。所谓静态,是指在编译时;动态,是指在运行时。 阅读全文
posted @ 2006-06-26 14:43 KiddLee 阅读(14746) 评论(11) 推荐(5) 编辑
摘要: Composite组合模式主要是应对这样的问题:一类具有“容器特征”的对象——即他们在充当对象的同时,又是其他对象的容器的情况。 阅读全文
posted @ 2006-06-02 17:31 KiddLee 阅读(11137) 评论(6) 推荐(0) 编辑
摘要:Bridge桥接模式是一种结构型模式,它主要应对的是:由于类型的固有罗辑,使得类型具有两个或两个以上的纬度变化。也就是要求抽象不应依赖于实现细节,实现细节应依赖于抽象。 阅读全文
posted @ 2006-05-31 09:02 KiddLee 阅读(6738) 评论(11) 推荐(1) 编辑
摘要:Adapter适配器模式是一种结构型模式,主要应对:由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是,新环境要求的接口是现存对象所不满足的。 阅读全文
posted @ 2006-05-29 16:53 KiddLee 阅读(6394) 评论(5) 推荐(0) 编辑
摘要:Prototype原型模式是一种创建型设计模式,它主要面对的问题是:“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是他们却拥有比较稳定一致的接口。感觉好像和前几篇所说的设计模式有点分不清,下面我们先来回顾一下以前的几种设计模式,予以区分,再来说说原型模式。 阅读全文
posted @ 2006-05-18 15:54 KiddLee 阅读(13588) 评论(9) 推荐(1) 编辑
摘要: 刚开始接触设计模式时就常常听到同事提起工厂模式,那时也看过一些人写的Blog,但是往往把注意力放在代码的编写上。在这段时间的学习中慢慢体会到设计模式是用来解决一类问题,而不是某些固定的代码片段。 阅读全文
posted @ 2006-05-15 08:44 KiddLee 阅读(5305) 评论(8) 推荐(0) 编辑
摘要:Builder生成器模式是一种创建型模式,它主要是应对项目中一些复杂对象的创建工作。所谓“复杂对象”,是只:此对象中还含有其它的子对象。Builder模式所面对的情况是:各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将他们组合在一起的算法却相对稳定。简单的说:子对象变化较频繁,对算法相对稳定。 阅读全文
posted @ 2006-05-08 08:57 KiddLee 阅读(6807) 评论(6) 推荐(3) 编辑
摘要:抽象工厂是一种创建型模式,是为了解决实例化时所带来的问题。 我们先来看看是什么问题 阅读全文
posted @ 2006-04-22 22:37 KiddLee 阅读(7628) 评论(10) 推荐(0) 编辑
摘要:这是我写模式设计的第二篇,首先来说说设计模式的分类。 基本的23种设计模式从目的上可分为三种: 1、 创建型(Creational)模式:负责对象创建。 2、 结构型(Structural)模式:处理类与对象间的组合,可以解决一些继承依赖性的问题 3、 行为型(Behavioral)模式:类与对象交互中的职责分配,可以解决组件间如何和交互,隔离变化。 下面来说说单件模式 阅读全文
posted @ 2006-04-16 17:04 KiddLee 阅读(5794) 评论(18) 推荐(2) 编辑
摘要:今天听了《C#面向对象设计模式纵横谈(1):面向对象设计模式与原则》课程。总结了一些笔记。 阅读全文
posted @ 2006-03-29 17:00 KiddLee 阅读(8175) 评论(14) 推荐(7) 编辑