• [design pattern](0) 概述


    一 引语

    大家好,这是我第一次在网上写文章。从学校毕业一年多,感觉还有很多东西需要去学习。最近正在学习设计模式,希望可以在博客园把我学习的知识记录下来,能够和大家一起讨论设计模式相关的话题,也希望这个博客以后可以一直更新。由于本人是一名java程序员,所以之后的例子会以java程序去编写。本章节主要想讲一讲,学习设计模式需要的一些相关的知识。

    二 相关的知识

    在学习设计模式的之前,我们需要了解以下的知识:

    • 简单的uml的知识
    • 了解6大设计原则:“开-闭”原则、里氏替换原则、依赖倒转原则、接口隔离原则、单一职责原则、迪米特法则

    三 UML

     UML介绍

    Unified Modeling Language(UML)译为统一建模语言,他是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持。(本段来自百度百科)

    UML基础知识

    要学习设计模式,我们需要了解以下知识点:

    • 类的表示

    上面的图展示了使用UML怎样去表示一个Class。下面我们就来介绍Class图的组成部分:

      1.红色框:表示Class的作用域,作用域符号分为三种

    +:public
    -:private
    #:protected

      2.黄色框:表示属性名和方法名

      3.绿色框:表示方法的参数

      4.深蓝框:表示属性的类型和方法的返回类型

      5.浅蓝框:表示默认值

    • 接口的表示

    接口的表示比类的表示多了一个<<interface>>,其他就没有什么多说的了。

    • 继承关系(extends)

    继承关系是使用实线空心三角箭头表示的

    • 实现关系(implements)

    实现接口使用虚线空心三角箭头表示

    • 有一个关系(has)

    有一个关系使用普通箭头表示

    • 依赖关系(Dependency)

    依赖关系使用虚线箭头表示

    对于UML的知识我们就介绍到这里,这些基础的知识已经够我们介绍设计模式了。

    四 设计原则

    上面我们介绍了UML的一些基础知识,接下来我们来介绍一下设计模式的六大设计原则。

    “开-闭”原则

    定义:一个软件实体应该对扩展开放,对修改关闭。

    里氏替换原则

    定义:所有引用基类的地方必须能够透明的使用其子类的对象

    依赖倒转原则

    定义:抽象不应该依赖于细节,细节应该依赖于抽象。即,要针对接口编程,而不是针对实现编程

    接口隔离原则

    定义:使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口

    单一职责原则

    定义:一个类只负责一个功能领域中的相应职责,即一个类中能引起它改变的因素只有一个

    迪米特法则

    定义:一个软件实体应该尽可能少的与其他实体发生相互作用,不要和“陌生人”说话,只与你的直接朋友通信

    五 设计模式类别

    设计模式的个数有很多,这里我们对常用的23种设计模式进行分类。那么它们大致可以分为三类。

    • 创建型模式
      代表:Simple Factory、Factory Method、Abstract Factory、Builder、Prototype、Singleton
    • 结构型模式
      代表:Adapter、Bridge、Composite、Decorator、Facade、Flyweight、Proxy
    • 行为型模式
      代表:Interpreter、Template Method、Chain of Responsibility、Command、Iterator、Mediator、Memento、Observer、Sate、Strategy、Visitor

    六 相关书籍介绍

    入门书籍推荐: head first 设计模式 

    其他书籍推荐: java与模式 、 GOF 

  • 相关阅读:
    连续多步骤业务流程的暂停、中断和恢复
    什么是XML
    泛型擦除和反射配置文件
    类加载器和反射
    网络安全协议(二)
    网络通信协议(一)
    多线程之线程安全
    JAVA之线程池
    JAVA之多线程
    2020/8/1 JAVA之IO流(四)
  • 原文地址:https://www.cnblogs.com/cafebabe-yun/p/8983457.html
Copyright © 2020-2023  润新知