祯民讲前端
文章平均质量分 89
祯民
这个作者很懒,什么都没留下…
展开
-
你不知道的javascript设计模式(十七) ----编程设计原则和设计规则
文章目录前言正文单一职责原则最少知识原则开放-封闭原则代码重构提炼函数合并重复的条件片段把条件分支语句提炼成函数合理使用循环提前让函数退出代替嵌套条件分支传递对象参数代替过长的参数列表尽量减少参数数量少用三目运算符合理使用链式调用用 return 退出多重循环小结前言 同学们,我们学习设计模式已经很长的时间了,今天将会是我们设计模式系列的最后一章节,编程设计原则和设计规则。设计模式对于一个开发工程师而言是一个很原创 2021-04-12 10:44:36 · 135 阅读 · 2 评论 -
你不知道的javascript设计模式(十六)----状态模式
文章目录前言正文状态模式的定义状态模式的实现状态模式的优缺点小结前言 同学们,上一章我们介绍了装饰者模式,装饰者模式可以在不影响原类的情况下,给对象新增额外的功能,并且我们也尝试了使用AOP面向切面去拓展function的原型来实现装饰者模式。这一章,我们将进一步学习一种新的设计模式,状态模式。正文状态模式的定义允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎改变了它的类 &nb原创 2021-04-09 13:58:16 · 91 阅读 · 0 评论 -
你不知道的javascript设计模式(十五)----装饰者模式
文章目录前言正文装饰者模式的定义装饰者模式的实现基于javascript的装饰者模式实现用AOP装饰函数小结前言 同学们,上一章节我们介绍了中介者模式,中介者模式应用于对象关系复杂的场景,将所有对象之间的交互集中到中介对象处,来降低对象之间的耦合性,这一章节,我们将进一步学习一种新的设计模式,装饰者模式正文装饰者模式的定义原创 2021-04-08 11:32:51 · 161 阅读 · 4 评论 -
你不知道的javascript设计模式(十四) ----中介者模式
文章目录前言正文中介者模式的定义中介者模式的实现小结前言 不知不觉,我们学习设计模式已经很长的时间了,同学们有没有在代码设计上有一点自己的心得体会呢,上一章节我们介绍了职责链模式,职责链模式意义在于弱化发送者和接收者之间的关系,只要我们知道请求的节点,就可以将请求传下去,这一章我们将学习一章新的设计模式,中介者模式正文中介者模式的定义原创 2021-04-07 14:37:10 · 88 阅读 · 0 评论 -
你不知道的javascript设计模式(十三) ----职责链模式
文章目录前言正文职责链模式的定义职责链模式的实现基于AOP实现职责链模式小结前言 清明节三天假期过去了,一直没有更新,这里先祝大家清明节安好!上一章节我们介绍了享元模式,享元模式分离了对象的内部和外部状态,实现了对象的复用,从而去减少资源上的消耗。这一章我们将继续学习一种新的设计模式,职责链模式。正文职责链模式的定义使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这些对象连成一原创 2021-04-06 11:42:51 · 111 阅读 · 2 评论 -
你不知道的javascript设计模式(十二) ----享元模式
文章目录前言正文享元模式的定义内部状态与外部状态享元模式的实现对象池前言 同学们,上一章我们介绍了模板方法模式,这是一种基于继承的设计模式,通过设计抽象类可以避免类似类的重复定义,并且因为js的特殊原型克隆,我们也就js的实现方式进一步说明了模板方法模式,今天我们将进一步介绍一种新的设计模式,享元模式。正文享元模式的定义 &原创 2021-04-02 11:54:28 · 134 阅读 · 2 评论 -
你不知道的javascript设计模式(十一) ---- 模板方法模式
文章目录前言正文模板方法的定义模板方法的实现javascript中实现模板方法的注意事项javascript中模板方法的实现小结前言 同学们,上一章我们介绍了组合模式,组合模式是一种基于树状结构的设计模式,组合模式中的对象是满足一致性的,这样可以让用户不再需要去考虑对象的特殊性,从而达到一种一视同仁的效果。这一章我们将继续介绍一种新的设计模式,模板方法模式正文模板方法的定义 &nbs原创 2021-04-01 11:18:46 · 240 阅读 · 3 评论 -
你不知道的javascript设计模式(十) ---- 组合模式
文章目录前言正文由宏命令看组合模式组合模式的用途组合模式的实现适用组合模式的场景小结前言 同学们,上一章我们介绍了有关命令模式的知识,我们知道了命令模式拆分了命令和命令的执行,让发布者和执行者之间互不干涉,减少他们之间的耦合性,这一章我们将继续给大家一种新的设计模式,组合模式正文 宇宙中的很多东西都不仅仅是一个个体原创 2021-03-31 14:04:13 · 122 阅读 · 2 评论 -
你不知道的javascript设计模式(九) ---- 命令模式
文章目录前言正文什么是命令模式命令模式的实现javascript中的命令模式宏命令小结前言 上一章我们介绍了设计模式中的发布-订阅模式,通过分离发布者和订阅者之间的逻辑,来减少两者间的耦合性,以应用于异步等场景。今天我们要介绍的就是设计模式中的命令模式正文什么是命令模式 什么是命令模式呢?比如你去餐厅点菜,服务员原创 2021-03-30 16:20:25 · 117 阅读 · 0 评论 -
你不知道的javascript设计模式(八)---- 发布-订阅模式
文章目录前言正文发布-订阅模式的定义发布-订阅模式的实现前言 上一章我们介绍了一种简单但是常见的设计模式,迭代器模式,也自己实现了一遍迭代器对象,这一章节要介绍的内容相信大家或多或少都耳濡目染过,那就是发布-订阅模式正文发布-订阅模式的定义 发布-订阅模式又称观察者模式,它定义了对象间的一种一对多的依赖关系,当一原创 2021-03-29 11:58:17 · 219 阅读 · 4 评论 -
你不知道的javascript设计模式(七)---- 迭代器模式
文章目录前言正文迭代器模式的定义js的迭代器内部迭代器外部迭代器用js实现迭代器对象小结前言 这两天收到很多读者的回复评论,对我的鼓舞很大,大家可以从我的博客中提高就是对我最大的支持!言归正传,上一章我们谈到了策略模式,用于一些可以通过不同算法达到相同目的的场景,分离了算法本身和算法执行的部分,来保证设计模式的单一职责原则。这一章,我们将来学习关于迭代器模式的相关内容正文迭代器模式的定义迭代器模式是指提原创 2021-03-26 11:09:20 · 130 阅读 · 2 评论 -
你不知道的javascript设计模式(六)---- 策略模式
文章目录前言正文策略模式的定义实现策略模式javascript的策略模式策略模式的优劣势小结前言 上一章我们介绍了第一种设计模式单例模式,这一章我们将继续介绍一种新的设计模式,策略模式。在程序设计中,我们常常遇到这样的情况,实现同一个功能,但是可以使用不同的方法,这些算法灵活多样,可以互相交换使用,这就是本章要介绍的策略模式正文策略模式的定义定义一系列算法,把它们一个个封装起来,并且使它们可以相互替换原创 2021-03-25 13:55:19 · 124 阅读 · 3 评论 -
你不知道的javascript设计模式(五)----单例模式
文章目录前言正文单例模式的定义实现单例模式javascript中的单例模式惰性单例通用的惰性单例小结前言 前几章我们一直在为javascript设计模式的学习作一些准备,我们学习了原型编程,闭包,封装以及高阶函数等内容,从这一章节开始,我们将正式开始设计模式的学习,作为设计模式学习的第一章,我们将从最简单的设计模式,单例模式开始设计模式的相关学习正文单例模式的定义保证一个类有且只有一个实例,并提供一个访原创 2021-03-23 14:17:00 · 345 阅读 · 12 评论 -
你不知道的javascript设计模式(四)----高阶函数
文章目录前言正文高阶函数的定义函数作为函数参数传递函数作为函数返回值输出前言 这篇文章非常荣幸写了两遍,之前地铁上写完忘记保存,有点心酸。回归正题,前三章节我们分别介绍了js的原型模式以及闭包等知识,作为正式学习设计模式前知识准备的最后一章,这一章将给大家介绍相关高阶函数的知识,希望大家可以认真看完,因为对后面相关设计模式的设计与理解起到很大的作用正文高阶函数的定义 &n原创 2021-03-22 09:12:55 · 195 阅读 · 3 评论 -
你不知道的javascript设计模式(三)----闭包
文章目录前言正文封装变量函数作用域利用闭包封装工具函数延续局部变量的寿命小节前言 前面我们学习了javascript语言的多态,封装以及基于原型编程,在我们介入到设计模式的真正学习中,我们将进一步学习js中的闭包和高阶函数,因为这些在后面设计模式的实现中占到了很重要的作用,这一章我们将先学习闭包的相关知识正文 相信原创 2021-03-15 09:11:03 · 223 阅读 · 4 评论 -
你不知道的javascript设计模式(二)----基于原型编程的js(下)
文章目录前言正文封装封装数据封装实现封装类型封装变化基于原型编程的js原型模式原型模式的模糊类型性原型编程泛型小节前言 上一章节我们讲到,js的动态语言特性以及与生俱来的多态特性,多态特性的作用就是利用对象的多态性,尽可能消除函数设计过程中的条件分支语句。这一章我们将继续上一章的内容,进一步展开js开发中的封装以及js的原型编程设计原理正文封装 &原创 2021-03-12 10:29:16 · 212 阅读 · 3 评论 -
你不知道的javascript设计模式(一)—-基于原型编程的js(上)
文章目录前言正文动态类型语言与鸭子类型多态什么是多态javascript中的多态多态的作用小节前言 javascript与java这些语言不同,js实现面向对象不是基于面向类型的方式来设计的,也没有在语言层面上提供接口类和接口的支持,而是通过原型委托的形式来实现对象之间的继承。所以对于js设计模式而言,需要与传统面向对象语言区分开来,这篇文章作为javasccript设计模式系列的第一篇文章,将就js的原型编程原创 2021-03-11 18:10:30 · 1275 阅读 · 6 评论 -
vscode前端开发 - 常用插件
文章目录vscode前端开发 - 常用插件vscode前端开发 - 常用插件不多比比,对着我的装就完事了,绝对好用,有哪个前端开发能拒绝vscode呢Auto Close Tag: 自动闭合HTML/XML标签Auto Rename Tag: 修改开始标签会自动同步闭合标签一起变化Beautify: 美化代码change-case: 变量输入提示Chinese (Simplified) Language Pack for Visual Studio Code: vscode原创 2021-02-22 11:13:12 · 406 阅读 · 0 评论 -
sass学习笔记
文章目录css功能扩展嵌套规则父选择器&属性嵌套sassScript变量数据类型字符串插值语句变量定义!default@import@media@extend@extend-Only选择器在指令中延伸控制指令@if@for@each@while混合指令定义混合指令引用混合样式@include参数参数变量函数指令css功能扩展嵌套规则sass允许将一套css样式嵌套进另一套样式中,内层的样式将它外层的选择器作为父选择器,嵌套功能避免了重复输入父选择器#main p{ color: #0原创 2021-01-20 21:57:20 · 158 阅读 · 1 评论 -
typescript学习笔记
文章目录基本类型基本数据类型元组枚举AnyVoidnull和undefinedneverObject类型断言变量声明接口接口初探可选属性只读属性readonly 和 const额外的属性检查函数类型可索引的类型类类型继承接口类共有修饰符私有修饰符受保护修饰符readonly属性存取器静态属性抽象类函数函数类型书写完整函数类型可选参数默认参数剩余参数重载泛型泛型接口泛型类泛型约束在泛型约束中使用类型参数在泛型里使用类类型枚举数字枚举字符串枚举混合枚举计算和常量成员类型兼容性基本规则高级类型交叉类型模块命名空间原创 2021-01-20 21:43:21 · 204 阅读 · 0 评论