设计模式问答系列(1)---- 简介

设计模式问答

  • 你能解释抽象工程模式吗?
  • 你能解释建造者模式吗?
  • 你能解释原型模式吗?
  • 你能解释原型模式中的浅复制和深复制吗?
  • 你能解释单例模式吗?
  • 你能解释命令模式吗?
  • 项目中的设计模式

简介

下面是一些小巧的关于设计模式的问答,以一种问题和答案的形式给出。在本章节中我们会涉及到工厂、抽象工厂、建造者、原型、深浅原型、单例和命令模式。

什么是设计模式?

设计模式是特定场景的一种模式化的解决方案,这种方案是经受过考验和测试的。简单的说,就是你遇到的特定问题有着同样的推荐的解决方案。设计模式从软件开发初期就以某些形式存在着。比如,如果你想实现排序算法,第一件想到的事就是冒泡排序。那么排序是待解决问题,冒泡算法就是解决方案。设计模式就是一样的道理。

设计模式分哪三大类?

设计模式分三大基础类:创建类、构造类和行为类。
创建类设计模式

  • 抽象工厂模式(Abstract Factory):创建多个同类型类的一个实例
  • 建造者模式(Builder):由分离的对象来构成一个实例
  • 原型模式(Prototype):用来被复制或克隆的一个完全初始化的实例
  • 单例模式(Singleton):只能有一个类的实例存在。

提示:记忆创建类模式的最好最好方法是记住ABFPS(Abraham Became First President of States).

构造类设计模式

  • 适配器模式(Adapter):适配不同类的接口
  • 桥接模式(Bridge):将一个对象的实现和抽象分离
  • 合成模式(Composite):简单和符合对象的树形结构
  • 修饰模式(Decorator):给对象动态添加功能
  • 展示模式(Façade):用一个类来代表整个子系统
  • 轻量级模式(Flyweight):用于高效分享的细粒度实例
  • 代理模式(Proxy):一个对象表示另一个对象

行为类设计模式

  • 中介模式(Meditor):定义类之间的简单通信
  • 记忆模式(Memoto):存储和恢复一个对象的内部状态
  • 翻译者模式(Interpreter):一种包含语言元素语法的方式
  • 迭代器模式(Iterator):顺序访问集合元素
  • 响应链模式(Chain of Resp):一种在对象链之间传递请求的方法
  • 命令模式(Command):将一个请求命令封装为对象
  • 状态模式(State):当一个对象状态变化时改变其行为
  • 策略模式(Strategy):讲算法封装为一个对象
  • 观察者模式(Observer):一种像多个对象通知变化的方法
  • 模板方法模式(Template Method):将一个算法的确定步骤延迟都子类中执行
  • 访问者模式(Visitor):不改变一个类来定义新的操作。

原文地址:http://www.codeproject.com/Articles/28309/Design-pattern-FAQ-Part-1-Training

你可能感兴趣的:(设计模式)