随笔分类 -  设计模式

1 2 下一页
设计模式的学习总结和备份
设计模式终结(2013-09-07)
摘要:2013-09-07 设计模式全部收藏完毕,计划完成!简单工厂模式:(不在23种设计模式中 )抽象工厂模式:工厂方法模式:策略模式:装饰模式:代理模式:原型模式:模版方法模式:外观模式:建造者模式:观察者模式:状态模式:适配器模式:组合模式:备忘录模式:迭代模式:单例模式:桥接模式:命令模式:职责链模式:中介者模式:享元模式:解释器模式:访问者模式: 阅读全文
posted @ 2013-09-07 18:35 zxd543 阅读(222) 评论(0) 推荐(0)
设计模式之—访问者模式<VisitorPattern>
摘要:访问者模式:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变个元素的类的前提下定义作用于这些元素的新操作。 适用于数据结构相对稳定的系统,如下示例的男人和女人。男人和女人是固定的 示例的UML图如下: 状态抽象类(Action) using System; using System.Co 阅读全文
posted @ 2013-09-07 18:31 zxd543 阅读(144) 评论(0) 推荐(0)
设计模式之—解释器模式<InterpreterPattern>
摘要:解释器模式:给定一个语言,定义他的文法的一种表示,并定义一个解释器,这个解释器用于解释语言中的句子。比如文件解密 按如下规则编写程序: 演奏内容类(Context) using System; using System.Collections.Generic; using System.Linq; 阅读全文
posted @ 2013-09-07 17:10 zxd543 阅读(138) 评论(0) 推荐(0)
设计模式之—享元模式<FlyWeight>
摘要:享元模式:运用共享技术有效的支持大量细微度的对象。以减少对象的实例个数,减少服务器的负担 内部状态与外部状态: 测试用例UML图 用户类(User):外部状态 using System; using System.Collections.Generic; using System.Linq; usi 阅读全文
posted @ 2013-09-07 11:20 zxd543 阅读(153) 评论(0) 推荐(0)
设计模式之—中介者模式<Mediator Pattern>
摘要:中介者抽象类(Mediator)定义了同事对象到中介者对象的接口 namespace MediatorPattern.CLASS { abstract class Mediator { public abstract void Send(string message, Colleague colle 阅读全文
posted @ 2013-08-23 16:24 zxd543 阅读(130) 评论(0) 推荐(0)
设计模式之—职责链模式<Chain of Responsibility Pattern>
摘要:职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,经这个对象连成一条链,并沿着这条连传递请求,知道处理为止 如:公司请假需逐级上批,以下以加薪和请假为例,结构图如下: 请求的类(Request)封装请求的方式,内容和数量等属性 namespace Chain_of_ 阅读全文
posted @ 2013-08-19 20:30 zxd543 阅读(126) 评论(0) 推荐(0)
设计模式之—命令模式<Command Pattern>
摘要:本例以以下结构图为例: 命令抽象类(Command) namespace CommandPattern.CLASS { //命令类 public abstract class Command { protected Barbecuer receiver; public Command(Barbecu 阅读全文
posted @ 2013-08-19 19:13 zxd543 阅读(127) 评论(0) 推荐(0)
设计模式之—桥接模式<Bridge Pattern>
摘要:桥接模式:将抽象部分和它的实现部分分离,使他们可以独立的变化。实现指的是抽象类和它的派生类用来实现自己的对象。如手机软件和品牌分开实现。已达到松耦合的目地。 合成聚合复用原则:聚合是弱的“拥有关系”,体现A对象可以包含B对象,但B对象不是A对象的一部分 如:大雁和雁群 合成是强的“拥有关系”,体现了 阅读全文
posted @ 2013-08-16 19:06 zxd543 阅读(118) 评论(0) 推荐(0)
设计模式之—单例模式<Singleton Pattern>
摘要:单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 Singleton类 提供两种单例的方式: namespace SingletonPattern { //懒汉式单例类 //class Singleton //{ // private static Singleton instanc 阅读全文
posted @ 2013-08-15 20:17 zxd543 阅读(106) 评论(0) 推荐(0)
设计模式之—迭代模式<Iterator Pattern>
摘要:C#已将迭代模式封装载Foreach循环遍历中,如下所示: 若需要研究迭代设计模式请参考其他资料<GOF>设计模式 阅读全文
posted @ 2013-08-15 19:00 zxd543 阅读(94) 评论(0) 推荐(0)
设计模式之—组合模式<CompositePattern>
摘要:组合模式:将对象组合成树形结构以表示部门-整体的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。整体和部分被一致对待。 Component抽象类 namespace CompositePattern.CLASS { abstract class Component { protect 阅读全文
posted @ 2013-08-14 21:36 zxd543 阅读(138) 评论(0) 推荐(0)
设计模式之—备忘录模式<Memento Pattern>
摘要:备忘录模式:在不破坏封装行的前提下,捕获一个对象的内在状态,并在该对象之外保存这个状态,这样以后就可将该对象恢复到原来保存的状态。 发起备忘者类(Originator) namespace MemoPattern.CLASS { class Originator { private string s 阅读全文
posted @ 2013-08-14 19:47 zxd543 阅读(138) 评论(0) 推荐(0)
设计模式之—适配器模式<Adapter Pattern>
摘要:适配器模式:在双方的数据和行为都是正确的,又不容易修改时用适配器模式,将两者结合。应用于项目的维护。 目标类(Target) namespace AdapterPattern.CLASS { abstract class Target { public virtual void Request() 阅读全文
posted @ 2013-08-12 21:26 zxd543 阅读(132) 评论(0) 推荐(0)
设计模式之—状态模式<State Pattern>
摘要:状态模式:主要解决的是当控制一个对象状态转变的表达式过于复杂时的情况,把状态的判断逻辑转移到表示不用状态的类中,可以把复杂的逻辑判断简化。 即将复杂的逻辑分到各个类中,体现职责单一原则,方便日后维护。 状态类:(State) namespace StatePattern.CLASS { abstra 阅读全文
posted @ 2013-08-12 19:48 zxd543 阅读(158) 评论(0) 推荐(0)
设计模式之—抽象工厂模式<Abstract Factory pattern>
摘要:抽象工厂模式处理的是多表业务。工厂方法模式处理的单表的多项业务。 本例以选择操作数据库(SQL、 ACCESS)为例,解除与数据库的耦合。方便更改数据库的选取 本例结构图如下: 工厂接口类(IFactory) namespace FactoryMethodPatternDB.CLASS { inte 阅读全文
posted @ 2013-08-10 16:26 zxd543 阅读(148) 评论(0) 推荐(0)
设计模式之—观察者模式<Odserver PAttern>
摘要:观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题的对象。这个主体对象在状态发生变化时。会通知所有观察者对象,使他们能够更新自己。 即:一个抽象模型有两个方面,其中一方面依赖于另一方面。这时用观察者模式可以将这两者封装在独立的对象中是他们各自独立的改变和复用。观察者模式主要是 阅读全文
posted @ 2013-08-09 15:26 zxd543 阅读(200) 评论(0) 推荐(0)
设计模式之—建造者模式<Builder Pattern>
摘要:建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建构成可以创建不同的表示。即将建造代码宇表示代码分离 以构建产品为例: 产品类(Product) namespace Builder_Pattern.CLASS { class Product { List<string> parts = 阅读全文
posted @ 2013-08-08 21:15 zxd543 阅读(118) 评论(0) 推荐(0)
设计模式之—外观模式<Facade Pattern>
摘要:外观模式(门面模式):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。它体现了依赖倒转和多米特法则 子系统一(SubSystemOne) namespace Facade_Pattern.CLASS { class SubSystemOne { 阅读全文
posted @ 2013-08-08 20:22 zxd543 阅读(122) 评论(0) 推荐(0)
设计模式之—模板方法模式<Templete Method pattern>
摘要:模板方法模式:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 模板方法模式是通过把不变的行为搬移到超类,去除子类中重复的代码来体现它的优势。提供一个很好的代码复用平台。 以考试试题为例:不同的只有选项 试卷类(TestPa 阅读全文
posted @ 2013-08-08 19:26 zxd543 阅读(140) 评论(0) 推荐(0)
设计模式之—原型模式<Prototype Pattern>
摘要:原型模式就是从一个对象在创建另外一个对象,不需要知道任何创建的细节:(克隆) 以创建简历为例: 简历类(Resume) :继承于系统的克隆接口(ICloneable) namespace Ptototype_Pattern { class ReSume:ICloneable { private st 阅读全文
posted @ 2013-08-07 22:59 zxd543 阅读(142) 评论(0) 推荐(0)

1 2 下一页