美文网首页
1.设计模式

1.设计模式

作者: Young_5942 | 来源:发表于2020-08-11 08:42 被阅读0次

简单工厂

简单工厂模式是指由一个工厂对象决定创建哪一种产品类的实例,适用于工厂类负责对象较少的场景,且客户端只需要传入工厂类的参数,对于如何创建对象不需要关心。如果产品类越来越丰富,改工厂类的职责越来越多,不符合单一原则。

工厂方法模式

定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法模式让类的实例化推迟到子类中进行。工厂
方法模式中用户只需要关心所需要产品对应的工厂,无须关心创建细节,加入新产品时,符合开闭原则。主要解决产品扩展的
问题。同时类的个数过多,增加复杂度。

抽象工厂模式

提供一个创建一系列相关或相互依赖对象的接口,无须指定他们的具体类。客户端(应用层)不依赖于产品类实例如何被创建,
如何被实现等细节,强调一系列相关的产品对象。

单例模式

确保一个类在任何情况下只能有一个实例,并提供一个全局的访问点。
从类初始化角度考虑,采用静态内部类的方式实现

public class LazyInnerClassSingleton{
  private LazyInnerClassSingleton(){
    if(LazyHolder.LAZY != null){
      throw new RuntimeException("LAZY实例已存在");
    }
  }
 
  public static final LazyInnerClassSingletom getInstance(){
    return LazyHolder.LAZY;
  }  
  
  private static class LazyHolder{
    private static final LazyInnerClassSingleton LAZY = new LazyInnerClassSingleton();
  }
}

原型模式

原型指定创建对象的种类,并且通过复制这些原型创建新的对象。
浅克隆:只复制值类型数据,引用对象不复制
深克隆:值类型数据和引用类型数据都会被克隆。

代理模式

为其他对象提供一种代理,以控制对这个对象的访问。代理对象在客户单和目标对象之间起到了中介的作用。
使用代理模式主要有两种目的:保护目标对象和增强目标对象。
代理模式分为静态代理和动态代理

动态代理:更加通用的解决方案
JDK动态代理:采用字节重组,重新生成对象替代原始对象,以达到动态代理的目的。
过程如下:
1.获取被代理对象的引用,获取它的所有接口
2.jdk动态代理类重新生成一个新的类,新类实现代理类实现的所有接口
3.动态生成java代码,新加的业务逻辑方法由一定的逻辑代码调用
4.编译新生成的java代码
5.重新加载到jvm中运行

jdk动态代理和Cglib动态代理

委派模式

DispatcherServerlet用到了委派模式,根据不同的uri委派给不同的controller处理

策略模式

定义算法家族并封装起来,让它们之间可以相互替换,此模式使得算法的变化不会影响使用算法的用户

应用场景:
系统中很多的类,它们的区别仅仅是行为不同
一个系统需要动态的再几种算法中选择一种

模板模式

又叫做模板方法模式,定义一个算法骨架,允许子类为一个或者多个步骤提供实现。

相关文章

  • 1.设计模式

    简单工厂 简单工厂模式是指由一个工厂对象决定创建哪一种产品类的实例,适用于工厂类负责对象较少的场景,且客户端只需要...

  • 1.设计模式简介

    设计模式的使用设计模式在软件开发中的两个主要用途。(1)开发人员的共同平台设计模式提供了一个标准的术语系统,且具体...

  • 1.设计模式简介

    github地址 课程目标 理解松耦合设计思想 掌握面向对象设计原则 掌握重构技巧法改善设计 掌握GOF核心设计模...

  • 1. 设计模式入门

    结构图 源码 https://github.com/LeeSpringFly/head_first_design_...

  • 设计模式1.绪论

    点击进入我的博客 1.1 设计模式概述 什么是设计模式 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决...

  • 项目开发-------iOS设计模式

    iOS的设计模式大体可以分为以下几种设计模式 1.创建型:单例设计模式、抽象工厂设计模式 2.结构型:MVC 模式...

  • 23种软件设计模式概述

    1. 软件设计模式的概念 软件设计模式(Software Design Pattern),又称设计模式,是一...

  • GeekBand C++设计模式 第一周

    1.设计模式简介 课程目标 松耦合设计思想 面向对象设计原则 重构技法改善设计 GOF核心设计模式 设计模式 不断...

  • 设计模式

    23种设计模式; 1.创建型模式5种 1.单例模式、抽象工厂模式、建造者模式、原型模式 2.并发设计模式 代理、组...

  • 模板方法设计模式(Template Method)

    最易懂设计模式解析适配器设计模式Mybatis代理设计模式Mybatis多级代理 1. 认识模板方法模式 1.1 ...

网友评论

      本文标题:1.设计模式

      本文链接:https://www.haomeiwen.com/subject/dgfedktx.html