随笔分类 - 23种设计模式
摘要:04代理模式 背景 本博客是照着程杰的《大话设计模式》一书实现的Java代码的版本,再加自己的一点理解 问题 卓贾易追求娇娇的方式是派出自己的好友戴笠 实现该模型的代码逻辑 女孩类 package com.gof.proxy; /** * 功能描述 * * @since 2023-01-17 */
阅读全文
摘要:01-UML类图中的那些符号 什么是UML? Unified Modleling Language,统一建模语言,将软件系统进行可视化建模的一种语言,UML2.0一共定义了13种图,包括用例图、类图,对象图,状态图,活动图 顺序图,协作图,构件图,部署图,包图,组合结构图,交互概览图等等。本文主要介
阅读全文
摘要:00-统一建模语言基础知识 如果我们学东西学不懂,我们只需要从更基础的知识开始学,一起加油吧! 概述 UML是一个通用的可视化建模语言,不同于编程语言,它通过一些标准的图形符号和文字来对系统进行建模 用于对软件进行描述、可视化处理、构建软件系统的文档 是一套总结了以往建模技术的经验并吸收了当今最优秀
阅读全文
摘要:动态代理模式 概述 本文主要讲解动态代理模式,动态代理是AOP的基础,是利用反射的方法实现代理功能的一种实现。动态代理与静态代理的差别,动态代理中代理类是自动生成的,而静态代理则是手动写的代理类 动态代理分为两大类:基于接口的动态代理,基于类的动态代理 基于接口: JDK动态代理(本文讲解) 基于类
阅读全文
摘要:静态代理模式 概述 静态代理模式是Spring AOP理论的基础,静态代理的核心思想:已有的业务代码最好不要改变其逻辑,而是在其外面再包一层,添加一些附属的功能 示例1 租房,中介房东和租房者之间的关系 租房接口 package com.kuang.demo01; public interface
阅读全文
摘要:桥接模式 概述 桥接模式是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化的桥接,来实现二者的解耦 例子 电脑品牌有苹果,联想,戴尔等 电脑种类有台式机,笔记本,平板,一体机 品牌和机型组合的实现 package com.example.de
阅读全文
摘要:适配器模式 概述 就像电脑和网线之间有时需要一个转接器,不同接口之间有时也需要用转接线相连,已有的部件部件不变,单两者之间有鸿沟,可以在不改变原有结构的基础上,新增一个适配器,即为适配器模式的核心 实践 以下为计算机,网线和转接器的例子 网线类 package com.example.designP
阅读全文
摘要:原型模式 原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。属于创建型模式的一种,提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口 实践 可以将深拷贝换成浅拷贝看下结果 个人理解:原型模式就是一种优雅的拷贝实现方式 Video.java package
阅读全文
摘要:建造者模式 简介 什么是创建型模式? 创建型模式(Creational Pattern)关注点是如何创建对象,其核心思想是要把对象的创建和使用相分离。这样使得两者能够相对独立地变换。 创建型模式对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰,外界对于
阅读全文
摘要:单例模式详解 单例模式就是只能有一个实例的模式;最大的特点是构造器私有。建议看视频。 单例模式分为两种: 饿汉式:直接将类的实例初始化好,可能会存在资源浪费的情况; 懒汉式:用的时候再初始化实例,比较常用。 饿汉式 特点: 构造器私有 构建一个静态常量表示类的实例 构建一个静态getInstance
阅读全文
摘要:抽象工厂模式 **定义:**抽象工厂模式提供了一个创建一系列相关或者相互依赖对象的接口,无需指定他们的具体类 适用场景: 客户端(应用层)不依赖与产品类实例如何被创建、实现等细节 强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量的重复代码 提供一个产品族的库,所有产品以相同的接口出
阅读全文
摘要:简单工厂模式与工厂方法模式 简单工厂模式 优点:简单,代码量少,清晰 缺点:新增一个产品,工厂的代码不能做到零修改 工厂方法模式 优点:新增一个产品,代码可以做到零修改,只做扩展 缺点:代码量过多,繁杂 注意:实践中还是简单工厂模式更好用 简单工厂模式代码 package com.example.d
阅读全文

浙公网安备 33010602011771号