![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 64
sam19910216
上善若水
展开
-
与面向对象相关的概念
对象:被呈现的或可被感官识别的物体。 面向对象:直接针对您能想到的任何事物。 封装:将相关的概念组成一个单元,其后可以通过一个名称来引用它。 信息/实现隐藏:使用封装将某些信息或实现方法限制在封装结构内部,限制外部的可见性。 对象具有保持状态的能力。 对象标识:指每个对象(不考虑其所属类或当前状态)可以作为不同的软件实体被标识、处理的特性。 消息:发送对象obj1向目标对象obj2发送原创 2012-12-12 23:39:35 · 254 阅读 · 0 评论 -
设计模式之装饰
装饰模式(Decorator Pattern) :动态地给一个对象增加一些额外的职责(Responsibility),就增加对象功能来说,装饰模式比生成子类实现更为灵活,它是一种对象结构型模式。 结构: 角色: Component:给出一个抽象接口,可以给对象动态添加职责。 ConcreteComponent:定义一个将要接收附加责任的类。 Decorator:维持一个指原创 2012-12-15 16:56:49 · 271 阅读 · 0 评论 -
设计模式之桥接
桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化,它是一种对象结构型模式。 在一个软件系统的抽象部分和实现部分之间使用组合/聚合关系而不是继承关系,从而使两者可以相对独立地变化。 结构: 角色: Abstraction角色:定义抽象类的接口,并保存一个指向Implementor类型对象的指针。 Refined Abstracti原创 2012-12-17 10:33:51 · 377 阅读 · 0 评论 -
设计模式之组合
组合模式(Composite Pattern):组合多个对象形成树形结构以表示“整体-部分”的结构层次。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性。 组合模式又可以称为“整体-部分”(Part-Whole)模式,属于对象的结构模式,它将对象组织到树结构中,可以用来描述整体与部分的关系。 结构: 角色: Component:抽象角色,为组合中的对象原创 2012-12-16 13:38:56 · 303 阅读 · 0 评论 -
设计模式之适配器
适配器模式(Adapter Pattern):将一个类的接口转换成客户所期待的另一个接口,使得原本由于接口不匹配而无法在一起工作的那些类能够在一起工作。 结构:(类的适配器模式) (对象的适配器模式) 角色: Target角色:这是客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。 Adaptee角色:需要适配的类。 Adapter角色:通过在原创 2012-12-15 10:31:46 · 324 阅读 · 0 评论 -
设计模式之原型
原型模式(Prototype Pattern):原型模式是一种对象创建型模式,用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。原型模式允许一个对象再创建另外一个可定制的对象,无须知道任何创建的细节。 原型模式的基本工作原理是通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝原型自己来实现创建过程。 结构: 角色:原创 2012-12-14 11:46:31 · 740 阅读 · 0 评论 -
设计模式之生成器
生成器模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。生成器模式属于对象创建型模式。 生成器模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。 结构: 角色: Builder-为创建一个Product对象的各个部件指定的抽象接口 Concret原创 2012-12-14 11:03:35 · 277 阅读 · 0 评论 -
设计模式之单件
单件模式(Singleton Pattern):单件模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单件模式是一种对象创建型模式。 单件模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。 结构: 角色: 一个角色,即Singleton。 示例代码: using原创 2012-12-14 10:33:27 · 480 阅读 · 0 评论 -
设计模式之抽象工厂
抽象工厂模式(Abstract Factory Pattern)属于对象创建型模式。它提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。 结构: 角色: Abstract Factory:声明一个创建抽象产品对象的 操作接口 Concrete Factory:实现创建具体产品对象的操作 Abstract Product:为一类产品对象声明一个接口 Concre原创 2012-12-13 15:01:21 · 222 阅读 · 0 评论 -
设计模式之工厂方法
工厂方法模式(Factory Method Pattern)属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该实例化哪一个具体产品类。 结构: 角色: Creator:这个角色是工厂模式的核心,声明工厂方法,该方法返回一个Product原创 2012-12-13 14:59:56 · 289 阅读 · 0 评论 -
设计模式之简单工厂
简单工厂模式(Simple Factory Pattern):又称为静态工厂方法模式,它属于类创建型模式。 在简单工厂模式中,可以根据参数的不同返回不同类的实例。 简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 示例代码: using System; public abstract class Light { publ原创 2012-12-13 14:58:24 · 223 阅读 · 0 评论 -
设计模式之设计原则
原则1:针对接口编程,而不是针对实现编程 客户无需知道所使用对象的特定类型,只需要知道对象拥有客户所期望的接口。 原则2:优先使用对象组合,而不是类继承 类继承通常为“白箱复用”,对象组合通常为“黑箱复用”。继承在某种程度上破坏了封装性,子类父类耦合度高;而对象组合则只要求被组合的对象具有良好定义的接口,耦合度低。 原则3:封装变化点 使用封装来创建对象之间的分界原创 2012-12-12 23:41:55 · 264 阅读 · 0 评论 -
设计模式之外观
外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,它是一种对象结构型模式。 结构: 角色: Facade角色:客户端可以调用这个角色的方法,了解相关子系统(一个或多个)的功能和责任,将客户的请求委派给适当的子系统对象 。原创 2012-12-18 09:14:55 · 266 阅读 · 0 评论