代码编织梦想

设计模式及其在项目、框架中的应用-爱代码爱编程

设计模式的作用: 1、类之间关系图,明确的角色及其关系、作用; 2、符合开闭原则,职责明确,并且开放的拓展点可以有效应对后期的变化。 (一)、责任链模式 适用场景: 在一个流程中,对某一个对象有一串不同的业务处理操作,可以把这些业务操作封装成一个抽象业务的不同实现类,便于在链路中动态添加处理逻辑。 类图分析: 角色:请求者 处理者 处理者链路

开源绘图工具 plantuml 入门教程(常用于画类图、用例图、时序图等)-爱代码爱编程

文章目录 一、类图二、用例图三、时序图 一、类图 类的UML图示 @startuml skinparam classAttributeIconSize 0 class D

【python笔记-爱代码爱编程

一、说明 常作为MVC(Model-View-Controller)模式的一部分,用来处理用户请求并将其分发给相应的处理程序(即路由匹配)。 (一) 解决问题 将请求的处理流程集中管理,统一处理所有的请求 (二) 使用场景 需要在Web程序中集中管理请求的分发和处理时系统存在多个组件和逻辑时,可用来统一管理这些组件和逻辑 二、结构 Fro

【javascript】设计模式之代理模式-爱代码爱编程

文章目录 1、简单代理模式的例子2、保护代理和虚拟代理3、虚拟代理实现图片预加载4、代理和本体接口的一致性5、缓存代理6、用高阶函数动态创建代理7、小结 代理模式是为一个对象提供一个代用品或占位符,以

【javascript】设计模式之策略模式-爱代码爱编程

文章目录 1、使用策略模式计算奖金2、JavaScript 版本的策略模式3、应用:表单验证3.1 用策略模式进行表单验证3.2 给某个文本输入框添加多种校验规则 4、策略模式的优缺点 策略模式

【python笔记-爱代码爱编程

一、说明 策略模式是一种行为设计模式,它定义了一系列算法,将每个算法封装起来,并使它们可以互相替换。 (一) 解决问题 在需要根据不同情况选择不同算法或策略,规避不断开发新需求后,代码变得非常臃肿难以维护管理。 (二) 使用场景 当一个类有多个行为,而且这些行为在不同的情况下有不同的实现时当需要在运行时动态地选择算法时当一个类的一部分行为是固

【python笔记-爱代码爱编程

一、说明 观察者模式是一种行为设计模式,允许你定义一种订阅机制,可在对象事件发生时通知“监控”该对象的其他对象。 (一) 解决问题 主要解决一个对象的状态变化时,需要通知其他对象,并且这些被通知的对象可能是多个且不确定的。 (二) 使用场景 应用中的一些对象必须观察其他对象状态并进行操作时,如消息订阅、动态推送当一个对象状态的改变需要改变其他

【python笔记-爱代码爱编程

一、说明 中介者模式是一种行为设计模式,减少对象之间混乱无序的依赖关系。该模式会限制对象之间的直接交互,迫使它们通过一个中介者对象进行合作。 (一) 解决问题 降低系统中对象之间的直接通信,将复杂的交互转化为通过中介者进行的间接交互,从而解耦系统各部分,降低其耦合度。 (二) 使用场景 当系统和对象之间存在复杂的交互关系,导致对象之间相互依赖

【python笔记-爱代码爱编程

一、说明 组合模式是一种结构型设计模式, 你可以使用它将对象组合成树状结构, 并且能像使用独立对象一样使用它们。 (一) 解决问题 处理树形结构:可以很好地处理树形结构的数据,使得用户可以统一对待单个对象和对象组合。统一接口:可以通过统一的接口来操作单个对象和对象组合,简化了客户端的代码。递归组合:可以通过递归的方式来处理对象组合,使得代码更加灵

【python笔记-爱代码爱编程

一、说明 原型模式是一种创建型设计模式, 用于创建重复的对象,同时又能保证性能。 使一个原型实例指定了要创建的对象的种类,并且通过拷贝这个原型来创建新的对象。 (一) 解决问题 主要解决了对象的创建与复制过程中的性能问题。主要针对:复杂对象和相识对象的创建 在某些情况下,直接使用new关键字或者其他方式创建对象可能会导致性能损耗较大,特别是当

享元模式——实现对象的复用_springboot 怎么使一个对象重复使用-爱代码爱编程

1、简介 1.1、概述 当一个软件系统在运行时产生的对象数量太多,将导致运行代价过高,带来系统性能下降等问题。例如,在一个文本字符串中存在很多重复的字符,如果每个字符都用一个单独的对象来表示,将会占用较多的内存空间。那么

游戏服务器整体架构思考-爱代码爱编程

1.启动层         不管是单体架构还是微服务架构,其实服务器本身都是要启动的。 不管是用grpc实现远程调用,还是dubbo,还是说就一个简单的tcp监听,都是要启动的。       启动的时候,肯定要整合下controller接入层,不管是叫:router还是啥,其实本质是接入层,别人发来请求后,我起码得知道到哪里处理呀。      有的可

设计模式_结构型模式_装饰器模式-爱代码爱编程

装饰器模式和代理模式很像。 代理模式是已经知道代理谁了,所以只是对委托类的访问权限进行限制,因此用户只需要访问相应的代理类就可以。装饰器模式并不知道要装饰谁,所以需要传入具体的被装饰对象进行功能的添加 目的: 增加现有类

组合模式_组合模式的代码框架及类图-爱代码爱编程

组合 Composite 组合模式是一种结构型设计模式,你可以使用它将对象组合成树状结构,并且能像使用独立对象一样使用它们。 将对象组合成树形结构以表示整个部分的层次结构。组合模式可以让用户统一对待单个对象和对象的组合。

设计模式_结构型模式_适配器模式-爱代码爱编程

目的: 让不兼容的接口可以在一起工作 公司里面做项目会使用第三方的插件(库),由于接口不兼容会添加很多的适配器类 。项目的现有接口和想使用的第三方库的接口根本不兼容。 解决 方法一:有条件的化考虑重构代码,设计统一的接

【设计模式】状态模式-爱代码爱编程

文章目录 引例状态模式理论状态模式代码优化结合享元模式并发问题解决 策略模式 VS 状态模式 引例 交通信号灯系统的设计与实现 方案一 传统设计方案 定义交通灯颜色的枚举``` publi

【3】原型prototype(创建型)-爱代码爱编程

说明 用原型实例指定创建对象的种类,并通过复制这些原型创建新的对象;克隆羊问题,通过 Object 类的 clone 实现实例的复制;Spring 的 bean 创建,当 bean 类型为原型时,每次都会生成一个 bean

设计模式-爱代码爱编程

设计模式-观察者模式(Observer) 一、观察者模式概述1.1 什么是观察者模式1.2 简单实现观察者模式1.3 使用观察者模式的注意事项 二、观察者模式的用途三、观察者模

【设计模式】观察者模式-爱代码爱编程

文章目录 引例访问者模式理论使用场景评价 引例 能够处理多种格式的资源文件的工具 处理功能1:将把三种格式文件中的文本内容抽取出来放到 .txt 文件 方案一 代码如下: // 资源抽象

装饰模式_具体装饰类可以定义新的方法和调用基类方法吗-爱代码爱编程

装饰 Decorator 装饰模式是一种结构型设计模式,允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。或者说允许动态地向一个现有的对象添加新的功能同时又不改变其结构,相当于对现有的对象进行了一个包装。