-
设计模式 | 适配器模式
知识点七: 适配器模式一、概述适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。它属于23种GOF设计模式的结构型设计模式 , 它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。适配器模式的别名为包装器(Wrapper)模式,它既可以作为类结构型模式,也可以作为对象结构型模式。在适配器模式定义中所提及的接口是指广义的接口,它可以表示一个方法或者方法的集合。二、优缺点和使用场景1、优点 可以让任何两个没有关联的类一起...…
-
设计模式 | 原型模式
知识点六: 原型模式一、概述原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能,它属于23种GOF设计模式的创建型设计模式 ,它提供了一种创建对象的最佳方式。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。它有如下特点: 由原型对象自身创建目标对象。也就是说,对象创建这一动作发自原型对象本身。 目标对象是原型对象的一个克隆。也就是说,通过Prototype模式创建的对象,不仅仅与原型对象具有相...…
-
设计模式 | 建造者模式
知识点五: 建造者模式一、概述建造者模式(Builder Pattern),又被称为生成器模式,它属于23种GOF设计模式的创建型设计模式 ,它与工厂方法模式和抽象工厂模式不同,后两者的目的是为了实现多态性,而 建造者模式的目的则是为了将对象的构建与展示分离。建造者模式是使用多个简单的对象一步一步构建成一个复杂的对象。 它允许用户在不知道内部构建细节的情况下,可以更精细地控制对象的构造流程。一个复杂的对象有大量的组成部分,比如汽车它有车轮、方向盘、发动机、以及各种各样的小零件,要将这些部件...…
-
设计模式 | 单例模式
知识点四: 单例模式一、概述单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。它属于23种GOF设计模式的创建型设计模式 ,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 避免一个全局使用的类频繁地创建与销毁。实现的关键代码是构造函数私有化。懒汉式 因为懒...…
-
设计模式 | 抽象工厂模式
知识点三: 抽象工厂模式一、概述抽象工厂模式(Abstract Factory Pattern) 是基于工厂方法模式的一个延伸,是所有形态的工厂模式中最为抽象和最具一般性的一种形态。它属于23种GOF设计模式的创建型设计模式。 抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。根据里氏替换原则,任何接受父类型的地方,都应当能够接受子类型。因此,实际上系统所需要的,仅仅是类型与这些抽...…
-
设计模式 | 工厂方法模式
知识点二: 工厂方法模式一、概述工厂方法模式(Factory Method)又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂模式(Polymorphic Factory),工厂方法模式是简单工厂模式的一个延伸,它属于23种GOF设计模式的创建型设计模式。在工厂方法模式中,父类负责定义创建对象的公共接口,而子类则负责生成具体的对象,这样做的目的是将类的实例化操作延迟到子类中完成,即由子类来决定究竟应该实例化(创建)哪一个类。 工厂方式法模式(Facto...…
-
设计模式 | 简单工厂模式
知识点一:简单工厂模式前言1.概述设计模式是针对某一类问题的最优解决方案,是从许多优秀的软件系统中总结出的。Java中设计模式(java design patterns)通常有23种(这次总结的设计模式多了一个简单工厂模式共24种)。这些模式大体上可以分成3类: 创建型模式: 创建型模式涉及对象的实例化,特点是不让用户代码依赖于对象的创建或排列方式,避免用户直接使用new创建对象。 主要有5种: 工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。 ...…
-
SpringBoot | 第四章_日志管理
第四章:日志管理SpringBoot官网关于日志章节说明(可输入logging进查找):https://docs.spring.io/spring-boot/docs/1.5.14.RELEASE/reference/htmlsingleSpring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J, Log4J2和Logback。每种Logger都可以通过配置使用控制台或者文件输出日志内容...…
-
SpringBoot | 第三章_springboot配置详解
第三章:springboot配置详解基于springboot的约定优于配置的原则,在多数情况下,启动一个应用时,基本上无需做太多的配置,应用就能正常启动。但在大部分开发环境下,添加额外配置是无所避免的,比如自定义应用端口号(比较在机器比较少的情况下,一台机器还是需要部署多个应用的,当然利用docker的话,是可避免的,这是后话了)、mq的服务地址、缓存服务的服务地址、数据库的配置等,都或多或少的需要一些外部的配置项。一、配置文件格式简要说明springboot默认的全局配置文件名为appl...…
-
SpringBoot | 第二章_lombok介绍及简单使用
第二章:lombok介绍及简单使用一、Lombok简介1.概述Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。官方地址:https://projectlombok.org/github地址:https://github.com/rzwitserloot/lombok 这里简单说下lombok实现的原理:主要是通过抽象语法树(AST),在编译处理后,匹配到有其注解的类,那么注解编译...…