zoukankan      html  css  js  c++  java
  • 设计模式

    一、定义设计模式

    首先定义“模式”:模式是在某情境下,针对某问题的某种解决方案。其中:

    • 情境:是应用某个模式的情况。
    • 问题:是想在某情境下达到的目标。
    • 解决方案:是你所追求的一个通用的设计,用来解决约束、达到目标。

      “如果你发现自己处于某个情境下,面对着所欲达到的目标被一群约束影响着的问题,然而,你能够应用某个设计,克服这些约束并达到该目标,将你领向某个解决方案。”

     二、模式与描述

    装饰者------包装一个对象,以提供新的行为

    状态--------封装了基于状态的行为,并使用委托在行为之间切换

    迭代器------在对象之中游走,而不是暴露集合的实现

    外观--------简化一群类的接口

    策略--------封装可以互换的行为,并使用委托来决定要是用哪一个

    代理--------包装对象,以控制对此对象的访问

    工厂方法----由子类决定要创建的具体类是哪一个

    适配器------封装对象,并提供不同的接口

    观察者------让对象能够在状态改变时被通知

    模板方法----由子类决定如何实现一个算法中的步骤

    组合--------客户用一致的方式处理对象集合和单个对象

    单件--------确保有且只有一个对象被创建

    抽象工厂----允许客户创建对象的家族,而无需指定他们的具体类

    命令--------封装请求成为对象

     三、模式分类

    创建型

      Singleton

      Builder

      Prototype

      Abstract Factory

      Factory Method

    行为型

      Template Method

      Visitor

      Mediator

      Iterator

      Command

      Memento

      Inetpreter

      Observer

      Chain of Responsibility

      State

      Strategy

    结构型

      Decorator

      Proxy

      Composite

      Facade

      Flyweight

      Bridge

      Adaptor

  • 相关阅读:
    gmap4rails
    gmap4rails
    devise的使用的中文教程
    对每个 IP 访问量实时监控。
    下载文件总结
    安装Wamp后 Apache无法启动的解决方法
    CSS,fontfamily,好看常用的中文字体
    TP框架下载功能  不想下天桥  博客园
    用PHP,怎么获取PHP.ini中的文件上传最大的字节数。也就是默认的2M
    这个技术wiki的内容很不错
  • 原文地址:https://www.cnblogs.com/maybe1491/p/3089718.html
Copyright © 2011-2022 走看看