• 设计模式全面理解一:创建型


    一、设计模式分类

    最近于各种场合之中,深感设计模式之重要。这不仅仅对我们自己设计并写出高质量代码大有裨益,同时对我们理解一些框架源码亦有显而易见的好处。

    我们常见的设计模式就是1994由Gof(四个软件工程学者的组合)归纳出来的23种设计模式(Design Pattern)。根据目的分可分为三类:Creational、Structural、Behavioral;根据范围,可分为类模式和对象模式。

     二、创建型模式的优点

    创建型模式将对象的创建和对象的使用过程分离,降低了系统的耦合度,使得软件系统更易于扩展。

    三、常见的几种创建型模式

    1. 简单工厂

    简单工厂不属于Gof23种设计模式中的一员,但是这并不妨碍它具有很好的入门效果和借鉴意义。

    简单工厂主要分为三部分:抽象产品类(接口)、具体产品类、具体产品工厂类;

    抽象产品类(接口)中定义了这类产品通用的抽象方法,由具体产品类来实现具体业务逻辑,每增加一个产品需要新增一个具体产品类;

    具体产品工厂类中有一个static类型的获取具体产品类的方法,只需要传入实际的参数就能返回一个具体产品类。

    缺点:所有产品在一个工厂类里边,每次增加产品都需要修改工厂类,不符合开闭原则

    2. 工厂模式

    工厂模式组成部分:抽象工厂类、抽象产品类、具体工厂类、具体产品类

    应用1:集合类中Collection接口就是这样的抽象工厂类,Iterator是抽象产品类

    具体产品类(这里作为具体工厂类ArrayList的内部类):

     具体工厂类就是ArrayList

     应用2:Connection、Statement、Resultset

    3. 抽象工厂模式

    有产品族的概念,产品族易于增加,只需增加新的产品接口及其实现类就行,不会修改到原来代码;

    原先的产品等级结构中新增产品比较麻烦,需要改动已有的接口;

    这种现象称为开闭原则的偏向。

    四、设计模式六大原则

  • 相关阅读:
    css flex布局应用
    Java 中 List、HashTable、HashMap、TreeMap
    Java 面向对象的三大特征
    Java-冒泡排序算法
    单例模式- 实现方式
    Mac
    Appium DesiredCapabilities 参数设置
    Mac- appium 环境配置
    PHP安装+使用
    mac 安装protobuf,并编译
  • 原文地址:https://www.cnblogs.com/jdbc2nju/p/11561259.html
Copyright © 2020-2023  润新知