博客专栏  >  编程语言   >  C#常用设计模式

C#常用设计模式

介绍了18种常用设计模式,介绍中使用了C#语言,从实践的角度详细的介绍了设计模式的各个方面:领域,场景,优缺点等。

关注
33 已关注
18篇博文
  • 设计模式之--责任链模式

    在一些情况下,对一个消息(含事件)的响应和处理需要很多对象来参与,这些对象对消息的处理有前后顺序,形成一个处理链条,但对象是否真正处理消息有赖于在它之前的对象的处理策略,前一个对象处理后,后一个对象则...

    2011-07-29 14:28
    4895
  • 设计模式之--中介者模式

    在很多情况下对象之间的交互是很复杂的,在开始设计的时候,你根本不知道它需要交互的对象是谁,是什么类型。我们知道如果要对象A与对象B之间能相互交互,A与B就会构成相互依赖,如果对象一多,这种依赖就会很复...

    2011-07-29 14:25
    4244
  • 设计模式之--观察者模式

    在日常生活中,有很多需要我们关注的事务(比如,股市,楼市等),这些事务我们可以称之为主题或者叫信息发布者,观察主题的目的是想了解主题的变化(消息)。一种方法当然是采用盯人策略,但这种方法有个固有的缺点...

    2011-07-29 14:20
    4194
  • 设计模式之--访问者模式

    《设计模式》一书对于访问者模式给出的定义为:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。从定义可以看出结构对象是使用访问者模式必须条件,而...

    2011-07-28 09:18
    3350
  • 设计模式之--命令模式

    命令模式的意图一是将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;二是对请求排队或记录请求日志,以及支持可撤消的操作。简略图如下:命令模式通过对命令的封装,将命令的请求(调用者Inv...

    2011-07-28 08:42
    2771
  • 设计模式-门面模式

    就象字面含义一样,门面模式的作用是为了简化用户对一系列相关对象及操作的使用。比如用户买包子,馒头一样,用户并不需要知道包子,馒头的制造过程和细节,也不需要进入厨房,而只需要在门面,向服务员进行购买,拿...

    2011-07-28 08:10
    3605
  • 设计模式之--适配器模式.

    在日常生活中,我们时常会遇到一些兼容性的问题,比如我的笔记本的电源插头就是欧标的,在很多场合我都没法用,买一个可以用的插座当然是可选手段,但到那里去都拿这么大个家伙一是不方便,二也未必有地方可以插,所...

    2011-07-26 21:00
    2670
  • 设计模式之--组合模式

    有时候我们需要维护一些对象,这些对象具有一定的层次结构,它们之间虽然差异很大,但在使用的时候我们希望能构一致的对待,比如Windows控件,绘图中的图形等,这个时候我们就可以采用组合模式来进行管理。组...

    2011-07-26 20:52
    2902
  • 设计模式之-装饰模式

    装饰的含义就是在原有的物件上增加饰品,使得物件能呈现出不同的特征。当然在类设计中,采用装饰模式,是用来为类增加新的特征和行为。结构如下:    *     *                   | ̄...

    2011-07-25 22:27
    2389
  • 设计模式之-策略模式

    如果一个类(CA)的方法存在不同的算法(F),而这些算法用户都可能用到,那么就可以将这种算法独立出来自我演变,既提供一个算法的抽象接口,再定义具体的算法类,而CA保持对算法的一个引用,CA中的方法不直...

    2011-07-25 22:16
    2279
  • 设计模式之-桥模式

    顾名思义,桥的作用就是将两条相互独立的路桥接到一起,而两条路可以保持各自的相对独立。在程序设计中,“桥”模式中的桥只是一种形象的比喻。根据桥模式的定义,桥模式实现了一个主题(可以是一个类,也可以是一中...

    2011-07-24 21:11
    2587
  • 设计模式之-原型模式

    原型提供了另外一种创建对象的方式:通过已有的对象的自身提供的克隆功能来创建新的对象。这样做的好处很明显:1.使用克隆来创建对象的用户不需要知道对象的构造细节;2.性能上有利。但采用克隆来生成对象也要注...

    2011-07-22 20:19
    2242
  • 设计模式之--生成器模式与抽象工厂模式的比较

    从形式上来讲,通过角色合并,方法功能的转变,抽象工厂可以和生成器模式形式上取得一致(比如抽象工厂只处理一个产品族,工厂方法都处理同一个产品)。但注意,这仅仅是形式上的,实际上,抽象工厂和生成器模式有着...

    2011-07-22 20:12
    5034
  • 设计模式之-生成器模式

    在产品结构比较复杂,构造过程比较繁琐,一次性构造比较难的时候,我们可以采取分而治之的原则,将产品组件化,每个组件由专门的厂商来生产,最后的产品指派给制定的车间进行最后装配.这种方式其实是现代制造业的一...

    2011-07-22 20:09
    2475
  • 设计模式-单例模式

    单例模式的目的是保证类在系统中只被实例化一次,由该唯一的实例来为系统提供服务.单例模式主要用于保证服务的统一,比如获取统一的编号服务,模仿Oracle的序列生成等.但单例的使用需要谨慎,特别是在需要作...

    2011-07-22 20:03
    4106
  • 简单工厂,工厂方法,抽象工厂之比较

    创建模式的目的就是为了解决使用和生产责任分离,当然能使用这种模式的前提就是用户并不关心"产品"的创建逻辑和过程,用户只需要对创建的结果进行使用.在这种情况下,将使用和创建分离就增加了程序的灵活性,因为...

    2011-07-22 19:56
    3480
  • 设计模式之-工厂方法模式

    从简单工厂模式我们可以看出,在简单工厂模式中,增加新的产品类,是需要修改工厂类的,这不符合开放-封闭原则.而且在写工厂类的时候必须知道具体产品类的细节.也不符合由上相下的设计原则,如果要延后关注细节,...

    2011-07-21 07:35
    3427
  • 设计模式之--简单工厂模式

    角色:用户,工厂,产品.目的是使得用户将产品的消费和生产分开.在编程中就是将类的创建和使用分开.从而达到责任分离,其实这也是所有创建模式的目的之一.做法是工厂类根据用户的要求(参数)来返回不同的类的实...

    2011-07-21 07:27
    4797
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部