自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 React原理

React原理详解

2024-04-06 13:35:36 883

原创 使用generator实现async函数

使用generator实现async,await

2024-04-04 14:03:00 245

原创 使用swagger-typescript-api

优雅地使用swagger-typescript-api

2023-11-08 15:14:04 1062 2

原创 Comparable和Comparetor

java中的一些sort方法,都需要靠Comparable和Comparetor来实现。

2023-05-26 23:06:44 207

原创 Iterator设计模式

当然,还有一种方式,具体迭代器作为具体类的私有内部类,不用考虑向iterator传值。客户端希望遍历被放入容器/集合类的一组ADT对象,无需关心容器的具体类型。其中可迭代接口,迭代器接口,java中已经实现,我们直接使用即可。也就是说,不管对象被放进哪里,都应该提供同样的遍历方式。具体类实现Iterable接口。,通常需要实现2个方法。

2023-05-26 22:15:12 81

原创 decorator设计模式

【代码】decorator设计模式。

2023-05-26 15:28:31 72

原创 strategy设计模式

有多种不同算法来实现同一个任务,使client根据需要动态切换算法,而不是写死在代码里。采用Dependency的方式通过方法传参建立临时的delegation关系。具体类中,存在需要动态切换算法的方法。

2023-05-26 10:31:58 31

原创 visitor设计模式

通过传入不同的ConcreteVisitor,可为a, b扩展不同的方法。对外部提供访问ADT的方式,灵活扩展ADT的方法。

2023-05-25 22:26:31 35

原创 OO设计原则

LSP(The Liskov Substitution Principle,Liskov替换原则)SRP(The Single Responsibility Principle,单一责任原则)ISP(The Interface Segregation Principle,接口聚合原则)DIP(The Dependency Inversion Principle,依赖转置原则)OCP(The Open-Closes Principle,开放-封闭原则)

2023-05-25 19:59:38 694

原创 软件系统的质量属性

软件系统的质量属性分为外部质量属性和内部质量属性。

2023-05-24 18:25:28 880

原创 脚手架中使eslint失效

由各种脚手架创建的前端项目中,一般会默认添加eslint插件,以及prettier插件,但自动格式化和eslint的规则有时候并不匹配,比较麻烦。由脚手架创建的项目一般都有一个.eslintrc.js文件,修改这个属性。下面给一个办法,让eslint在脚手架中失效。

2023-05-16 20:10:38 80

原创 工厂方法模式

一个抽象产品 + 多个具体产品 + 一个抽象工厂 + 多个与具体产品对应的具体工厂。一个抽象产品 + 多个具体产品 + 一个。

2023-05-16 16:32:51 30

原创 LSP原则

LSP:抽象数据类型ADT和OO设计的重要原则。

2023-05-12 21:01:38 77

原创 Abstract Data Type(ADT)

R和A之间映射关系的函数,即如何去解释R中的每一个值为A中的每一个值。,client无需关心数据如何具体存储的,只需使用操作即可。A:即抽象空间(client看到和使用的值构成的空间)ADT开发者关注表示空间R,client关注抽象空间A。AF(abstract function):抽象函数。给出理由,证明代码并未对外泄露其内部表示——自证清白。RI(rep invariant):表示不变量。某个具体的“表示”是否是“合法的”由一组操作所刻画的数据类型。

2023-05-09 14:36:04 54

原创 js手写call,apply,bind方法

js手写call,apply,bind方法

2023-04-15 10:59:21 35

原创 js模拟实现ES6的类和继承

ES6的类实际上仍然是构造函数,就是一个语法糖,我们可以模拟实现一下。

2023-04-15 10:48:38 42

原创 js实现防抖和节流

js实现防抖和节流

2023-04-15 10:15:23 126

原创 手写Promise

深度解析Promise,手写实现Promise

2023-04-13 20:21:05 38

原创 jsx语法规则

了解React中jsx的语法规则

2023-03-30 22:00:45 75

原创 javac编译所有java文件

javac编译所有java文件

2023-03-18 18:42:07 1462

原创 Java中的I/O流

是Reader的子类,是从字节流到字符流的桥梁。另外,当JVM反序列化对象时,能找到class文件,但是class文件在序列化对象之后发生了修改,那么反序列化操作也会失败,抛出一个。缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。经过以上的演示,每次程序运行,创建输出流对象,都会清空目标文件中的数据。使用数组读取,每次读取多个字节,减少了系统间的IO操作次数,从而提高了读写的效率,建议开发中使用。

2023-03-14 21:00:09 52

原创 stream流

Stream流

2023-03-11 22:50:15 38

原创 java中Object类的方法

java中Object类的方法

2023-03-11 20:33:36 52

原创 匿名内部类+lambda表达式+方法引用

匿名内部类+lambda表达式+方法引用

2023-03-05 21:45:02 322

原创 Java中的异常

Java中的异常

2023-03-05 20:04:33 41

原创 Java中的集合

Java中的集合

2023-03-04 22:48:34 26

原创 Java中的抽象类和接口

Java中的抽象类和接口

2023-03-04 13:21:20 32

原创 Java中的final关键字

Java中的final关键字

2023-03-03 21:14:56 31

原创 Java中的包

Java中的包

2023-03-03 21:06:40 49

原创 Java中的多态

Java中的多态

2023-03-03 13:13:14 36

原创 Java中的继承

Java中继承

2023-03-03 11:12:47 31

原创 Java中static关键字

Java中static关键字

2023-03-03 10:28:15 35

原创 JUnit在IDEA中的配置和使用

JUnit在IDEA中的配置和使用

2023-02-25 17:38:58 627 1

原创 javascript深拷贝函数封装

javascript深拷贝函数封装

2022-12-17 23:50:57 335

原创 判断无环图是否为树

判断无环图是否为树

2022-11-21 21:20:07 127

原创 判断二叉树是否为二叉搜索(排序)树BST

判断二叉树是否为二叉搜索(排序)树BST

2022-11-21 18:53:32 227

原创 快排思想找到无序记录中从小到大第j个元素

快排思想找到无序记录中从小到大第j个元素

2022-11-21 14:45:57 67

原创 dfs求有向图的一条回路(邻接矩阵实现)

dfs求有向图的一条回路

2022-11-20 21:32:36 271

原创 c++ vscode中配置使用pdcurses库

windows系统下,c++ vscode中配置使用pdcurses库

2022-11-10 13:53:31 629

原创 简单用heap实现优先队列

二叉堆实现优先队列priority_queue

2022-10-10 16:37:40 68

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除