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

  • 相关阅读:
    HTTP Status 401
    Spring Data Elasticsearch 应用
    Elasticsearch基础概念
    Windows上使用Linux命令
    在服务器搭建git仓库
    SSH
    Linux/Windows 配置config 使用ssh连接
    在阿里云CentOS服务器上安装Python3.7并设置为默认Python
    Linux下Python3源码安装
    Vue
  • 原文地址:https://www.cnblogs.com/maybe1491/p/3089718.html
Copyright © 2011-2022 走看看