设计模式-6大设计原则

单一职责原则(SRP:Single Responsibility Principle) 定义:应该有且仅有一个原因引起类的变更。 优点: 类的复杂性降低; 可读性提高; 可维护性提高; 变更引起的风险降低。 建议:接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。 里氏替换原则(LSP: ...

OA办公系统 Springboot vue.js 前后分离 flowable 工作流

1.模型管理 :web在线流程设计器、预览流程xml、导出xml、部署流程 2.流程管理 :导入导出流程资源文件、查看流程图、根据流程实例反射出流程模型、激活挂起 、自由跳转 3.运行中流程:查看流程信息、当前任务节点、当前流程图、作废暂停流程、指派待办人 4.历史的流程:查看流程信息、流程用时、流 ...

01-03.依赖倒转原则(Dependence Inversion Principle)

博主头像 1、基本介绍 依赖倒转原则(Dependence Inversion Principle),他有五个点需要我们去掌握,如下:(1)高层模块不应该依赖低层模块,二者都应该依赖其抽象(何为抽象:抽象类或者接口我们就称为抽象,换言之就是可以去依赖接口,也可以去依赖抽象类,但是不能去依赖一个具体的子类)。( ...

Java中的单例模式最全解析

博主头像 单例模式是 Java 中最简单的设计模式之一,它是指一个类在运行期间始终只有一个实例,我们就把它称之为单例模式。它不但被应用在实际的工作中,而且还是面试中最常考的题目之一。通过单例模式我们可以知道此人的编程风格,以及对于基础知识的掌握是否牢固。 我们本课时的面试题是,单例的实现方式有几种?它们有什么 ...

面向对象基本概念2-核心

博主头像 面向对象更重要的是思想,具体的代码使用点很简单,我们先介绍几个概念,使用点之后一起介绍 一、面向对象的三大特性 面向对象三大特性 封装、继承、多态是面向对象的中心(有的人会把抽象也加上),我们分别介绍一下 封装 字面意思就是把数据封装起来,不让外部进行访问。封装的是什么数据,自然就是你不想让别人知道 ...

Sentinel -- FLOW SLOT核心原理篇

这个节点是sentinel流控接口,主要承担的作用是限流和预热。还是老套路,在介绍源码之前先介绍一下源码中用到的几个核心原理,这样大家看源码相对轻松一些。 1、核心算法 1.1 漏洞算法和令牌通算法 漏桶可以看作是一个带有常量服务时间的单服务器队列,如果漏桶(包缓存)溢出,那么数据包会被丢弃。 在网 ...

sentinel--核心原理篇

本篇内容主要主要从理论及源码角度介绍sentinel降级和限流的核心原理。如果有对sentinel功能不了解的可以先阅读下《sentinel--初级使用篇》。 1、核心骨架介绍 Sentinel 的核心骨架,将不同的 Slot 按照顺序串在一起(责任链模式),从而将不同的功能(限流、降级、系统保护) ...

sentinel--初级使用篇

1、官方资料 github官网地址:https://github.com/alibaba/Sentinel wiki:https://github.com/alibaba/Sentinel/wiki/ 2、基本使用方式 2.1 Sentinel的初体验 引入依赖 <dependency> <grou ...

C#设计模式-桥接模式(Bridge Pattern)

博主头像 引言 例如我有好几个项目,需要外包出去做各种类型的测试,不同的公司基础费用不同,不同的测试类型价格也是不同的。此时不同的项目选择不同的公司和不同类型的测试进行测试价格都是不同的。于是我们可以创建一个项目抽象类,一个公司抽象类,一个测试类型抽象类,然后实现各自的具体类,不同的项目使用不同的公司和测试类 ...

C#设计模式-装饰器模式(Decorator Pattern)

博主头像 引言 当我们完成一个软件产品开发后就需要对其进行各种测试,适配快速迭代下质量的保障。当有一个完善的产品的对象后,如果我们想要给他添加一个测试功能,那么我们可以用一个新的类去装饰它来实现对原有对象职责的扩展。新的类称为“装饰者”,原有的对象称为“被装饰者”。这种模式被称为装饰器模式。 概念 装饰器模式 ...

重温设计模式系列(三)面向对象设计原则

背景 面向对象基础知识,只是给了我们一个概念,如何更好的设计出良好的面向对象代码,需要有设计原则作为支持。设计原则是核心指导思想,在这些原则的基础上,经过不断的实践,抽象,提炼逐步产生了针对特定问题的设计模式。因此,学好设计模式的基础是掌握基本的设计原则。本文将介绍面向对象常用的设计原则。(某些原则 ...

谈谈Java常用类库中的设计模式 - Part Ⅲ

博主头像 概述 本系列上一篇:适配器、模版方法、装饰器 本文介绍的设计模式: 策略 观察者 代理 相关缩写:EJ - Effective Java Here We Go 策略 (Stragety) 定义:定义算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。 场景: ...

PHP设计模式—迭代器模式

定义: 迭代器模式(Iterator):提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。 结构: Iterator:迭代器接口,用于定义得到开始对象、得到下一个对象、判断是否到有效、当前对象等抽象方法,统一接口,目前PHP已经集成有该类。 IteratorAggregate: ...

C#设计模式-外观模式(Facade Pattern)

博主头像 引言 在软件测试中,一般都是在功能测试稳定的情况下再进行UI自动化测试、或者进行性能测试。如果一个一个进行太麻烦,此时可以使用对外提供一个简单接口,通过这个接口可以访问内部一群接口。例如进行UI自动化测试, 那么执行功能测试后再执行自动化测试。在软件开发过程中,将对外提供了一个统一的接口,用来访问子 ...

[head first 设计模式]第二章 观察者模式

博主头像 [head first 设计模式]第二章 观察者模式 假如我们有一个开发需求——建造一个气象观测站展示系统。需求方给我们提供了一个WeatherObject对象,能够自动获得最新的测量数据。而我们要建立一个应用,有三种布告版,分别显示目前的状况,气象统计,简单预报。三种布告板能即时显示Weather ...

java 在线考试系统源码 springboot 人脸识别 手机考试 视频直播功能

新增功能:培训学习模块, PDF电子课程、视频课程、直播课程(自己搭建直播流服务器) 人脸识别(考试时验证,有开关)、补考开关 题库管理 22. 图片库:创建文件目录,维护图片,供题库选择调用 23. 单选题:维护单选试题,试题题目,选项,答案,类型,级别,状态,解析 24. 多选题:维护多选试题, ...

C#设计模式-代理模式(Proxy Pattern)

博主头像 引言 在我们的生活中,经常会遇到需要什么东西,但是自己又不是很方便或者对方不是很方便,则就需要中间的一个代理人去解决。例如代购。在软件开发中,也会遇到这样的问题。有些对象有时候会由于网络或其他的障碍,以至于不能够或者不能直接访问到这些对象,如果直接访问对象给系统带来不必要的复杂性,这时候可以在客户端 ...

[head first 设计模式] 第一章 策略模式

博主头像 [head first 设计模式] 第一章 策略模式 让我们先从一个简单的鸭子模拟器开始讲起。 假设有个简单的鸭子模拟器,游戏中会出现各种鸭子,此系统的原始设计如下,设计了一个鸭子超类,并让各种鸭子继承此超类。 若此时我们有了一个新的需求,我们需要鸭子会飞,那么我们该如何修改代码呢? 最初,我们想在 ...

<1···101112···200>