设计模式共0篇 第2页
设计模式

设计模式-01.工厂方法

这是我尝试写的第一篇文章,以软件开发的设计模式开始,记录一下自己的理解与心得,方便以后回过头来查看。以工厂方法模式开始: 什么是工厂方法? 定义一个用于创建对象的接口,让子类决定实例...
admin的头像-五八三admin2年前
0130
2023 跟我一起学设计模式: 状态模式-五八三

2023 跟我一起学设计模式: 状态模式

状态模式 (State) 状态模式是一种行为设计模式, 让你能在一个对象的内部状态变化时改变其行为, 使其看上去就像改变了自身所属的类一样。 问题 状态模式与有限状态机 的概念紧密相关。 其主要...
admin的头像-五八三admin2年前
0110

Go 状态模式讲解和代码示例

Go 状态模式讲解和代码示例 状态是一种行为设计模式, 让你能在一个对象的内部状态变化时改变其行为。 该模式将与状态相关的行为抽取到独立的状态类中, 让原对象将工作委派给这些类的实例, 而...
admin的头像-五八三admin2年前
0140

Flutter开发实战:模板方法模式(Template Method Pattern)

模板方法模式(Template Method Pattern)是一种行为设计模式,用于定义算法的框架,但将具体的步骤延迟到子类中。这样,算法的结构保持不变,而具体的步骤可以被重写。这使得代码具有更好的重...
admin的头像-五八三admin2年前
090

【前端设计模式】之单例模式

在前端开发中,单例模式是一种常见的设计模式,用于确保一个类只有一个实例,并提供全局访问点。在实现单例模式时,有一些最佳实践和高级技巧可以帮助我们编写更优雅和可维护的代码。 1. 使用闭...
admin的头像-五八三admin2年前
0110
C语言驱动开发之内核解锁与强删文件-五八三

C语言驱动开发之内核解锁与强删文件

在某些时候我们的系统中会出现一些无法被正常删除的文件,如果想要强制删除则需要在驱动层面对其进行解锁后才可删掉,而所谓的解锁其实就是释放掉文件描述符(句柄表)占用,文件解锁的核心原理...
admin的头像-五八三admin2年前
0140
Flutter开发实战:解释器模式(Interpreter Pattern)-五八三

Flutter开发实战:解释器模式(Interpreter Pattern)

解释器模式(Interpreter Pattern)是一种设计模式,用于为特定的问题定义一个语言,并提供该语言的解释器。这种模式通常用于为特定类型的问题实现一种简单的语言或脚本。例如,正则表达式、SQL...
admin的头像-五八三admin2年前
0160

结构型设计模式之适配器模式

概述 设计模式是针对软件开发中经常遇到的一些设计问题,总结出来的一套解决方案或者设计思路。 大部分设计模式要解决的都是代码的可扩展性问题。 对于灵活多变的业务,需要用到设计模式,提升...
admin的头像-五八三admin2年前
040
结构型设计模式之其他不常用模式-五八三

结构型设计模式之其他不常用模式

概述 设计模式是针对软件开发中经常遇到的一些设计问题,总结出来的一套解决方案或者设计思路。 大部分设计模式要解决的都是代码的可扩展性问题。 对于灵活多变的业务,需要用到设计模式,提升...
admin的头像-五八三admin2年前
070
行为型设计模式之观察者模式-五八三

行为型设计模式之观察者模式

概述 设计模式是针对软件开发中经常遇到的一些设计问题,总结出来的一套解决方案或者设计思路。 大部分设计模式要解决的都是代码的可扩展性问题。 对于灵活多变的业务,需要用到设计模式,提升...
admin的头像-五八三admin2年前
0190
Android 构建扩展性更好的系统 —— 里氏替换原则-五八三

Android 构建扩展性更好的系统 —— 里氏替换原则

里氏替换原则 里氏替换原则英文全称是 LiskovSubstitutionPrinciple,缩写是 LSP。LSP 的第一种定义是:如果对每一个类型为 S 的对象 O1,都有类型为 T 的对象 O2,使得以 T 定义的所有程序 P ...
admin的头像-五八三admin2年前
0180
【前端面试】V8事件轮询-五八三

【前端面试】V8事件轮询

在前端面试中,面试官可能会问你V8的引擎机制,给你这样的一道题目如下: console.log(1); setTimeout(() => {  console.log(2); }); new Promise(reslove => {   console.log(3);  ...
admin的头像-五八三admin2年前
0110

三言两语说透设计模式的艺术-原型模式

提升对象创建效率:原型模式的智慧 原型模式(Prototype Pattern)是一种创造型设计模式,其核心思想在于通过复制“原型”来创建对象,而非直接实例化。在原型模式中,我们首先创造一个原型对象...
admin的头像-五八三admin2年前
070

【Java设计模式004】建造者模式

大家好,个人gzh是大猪和小猪的小家,我们的gzh是朝阳三只大明白,满满全是干货,分享近期的学习知识以及个人总结(包括读研和IT),跪求一波关注,希望和大家一起努力、进步!! 概述 首先来看...
admin的头像-五八三admin2年前
080

三言两语说透设计模式的艺术-抽象工厂模式

写在前面 工厂方法模式通过定义一个工厂接口,将对象实例化的过程抽象出来。但是它存在一个问题,就是一个具体工厂只能创建一类产品,增加新的产品类型时,需要新增具体工厂,违反开闭原则。 那...
admin的头像-五八三admin2年前
0190
策略模式 在JavaScript中的实现-五八三

策略模式 在JavaScript中的实现

策略模式(Strategy Pattern)是一种行为设计模式,它允许在运行时根据不同的情况选择不同的算法或行为。该模式将算法封装成独立的 策略对象,使得这些策略对象可以互相替换,从而使得算法的变...
admin的头像-五八三admin2年前
070
面向对象设计原则总结:SOLID/LKP/DRY/KISS…-五八三

面向对象设计原则总结:SOLID/LKP/DRY/KISS…

目录 封装变化 针对接口编程,不针对实现编程 多用组合(has-a),少用继承(is-a) 为交互对象之间的松耦合设计而努力 最少知识原则 LKP / 迪米特法则 Law of Demeter 好莱坞原则 SOLID 原则 单一...
admin的头像-五八三admin2年前
0250
结构型设计模式之代理模式-五八三

结构型设计模式之代理模式

概述 设计模式是针对软件开发中经常遇到的一些设计问题,总结出来的一套解决方案或者设计思路。 大部分设计模式要解决的都是代码的可扩展性问题。 对于灵活多变的业务,需要用到设计模式,提升...
admin的头像-五八三admin2年前
050
结构型设计模式之桥接模式-五八三

结构型设计模式之桥接模式

概述 设计模式是针对软件开发中经常遇到的一些设计问题,总结出来的一套解决方案或者设计思路。 大部分设计模式要解决的都是代码的可扩展性问题。 对于灵活多变的业务,需要用到设计模式,提升...
admin的头像-五八三admin2年前
060

三言两语说透设计模式的艺术-工厂方法模式

写在前面 前面写到简单工厂模式虽然比较简单,将实例的创建和使用分类,客户端只需使用由工厂类创建的对象即可,无需关心对象的创建过程。但是这个系统仍然存在问题: 1)工厂类过于庞大,包含...
admin的头像-五八三admin2年前
080