zoukankan      html  css  js  c++  java
  • 常用设计模式学笔

    开闭原则:对扩展开放,对修改关闭

    里氏替换原则:基类可以出现的地方,子类一定可以出现

    迪米特原则(最少知识原则):一个对象应该对其他对象尽可能少的了解,不和陌生人说话

    依赖倒置原则:要面向接口编程,不要面向实现编程

    单一职责原则:一个类应该只有一个发生变化的原因

    接口隔离原则:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上

     0. UML类图定义

    聚合:整体与部分的关系

    组合:是一种强依赖的聚合关系,即整体不存在了,则部分也不存在了

    依赖:一个对象在运行期间会调用另一个对象的关系【通常以构造函数、类方法的入参实现】

    关联:不同对象之间的长期强依赖关系【通常以成员变量的形式实现】

    1. 适配器模式:

      1.1 类适配器:继承被适配者类,并实现目标接口

        class ClassAdapter extends Adaptee implements Target{

        }

      1.2 对象适配器:实现目标接口,并且被适配者作为构造参数

        class ObjectAdapter implements Target {

          private Adaptee adaptee;

          public ObjectAdapter(Adaptee adaptee){

          }

        }

    应用:InputStreamReader 

    2. 桥接模式:

     定义:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现

    应用:jdbc驱动

    3. 外观模式

     定义:为多个复杂的子系统提供一个一致的接口,使这些子系统更加容易被访问

    4. 享元模式

    5. 策略模式

     定义:通过对算法进行封装,把使用算法的责任和算法的实现分割开来

    应用:Comparator

    6. 构造者模式

    定义:将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成

    构造者与工厂模式的区别:构造者模式注重零部件的组装,工厂模式注重于零部件的创建

    7. 迭代器模式

    定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示

  • 相关阅读:
    HDFS、YARN、Mapreduce简介
    List<object> 转 List<T>
    CTR+A组合键 以及终止按键事件传递
    BackgroundWorker 的输入、输出参数、进度条与文字刷新、取消机制、返回事件
    读取Excel文件的两种方法比较 以及用NPOI写入Excel
    浅复制不能传递,重新赋值就重新浅复制
    gridControl添加右键菜单
    C#设置Excel行高、列宽
    任意字符串(包括空串)都包含空白字符串
    JAVA 在程序中存储和修改信息
  • 原文地址:https://www.cnblogs.com/wuan90/p/11399880.html
Copyright © 2011-2022 走看看