4.6k 4 分钟

最近在研究express,学着使用cookie,开始不会用,就百度了一下,没有百度到特别完整的解答。查阅了express的API,综合了网友的博客,解读了cookie-parser的源码,以及使用WebStorm和Chrome验证,终于明白了express中cookie的使用。顾此篇文章即是分享也是总结。

28k 26 分钟

一直想写一篇介绍设计模式的文章,让读者可以很快看完,而且一看就懂,看懂就会用,同时不会将各个模式搞混。自认为本文还是写得不错的,花了不少心思来写这文章和做图,力求让读者真的能看着简单同时有所收获。

设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结,其中最出名的当属 Gang of Four (GoF) 的分类了,他们将设计模式分类为 23 种经典的模式,根据用途我们又可以分为三大类,分别为创建型模式、结构型模式和行为型模式。

有一些重要的设计原则在开篇和大家分享下,这些原则将贯通全文:

  1. 面向接口编程,而不是面向实现。这个很重要,也是优雅的、可扩展的代码的第一步,这就不需要多说了吧。
  2. 职责单一原则。每个类都应该只有一个单一的功能,并且该功能应该由这个类完全封装起来。
  3. 对修改关闭,对扩展开放。对修改关闭是说,我们辛辛苦苦加班写出来的代码,该实现的功能和该修复的 bug 都完成了,别人可不能说改就改;对扩展开放就比较好理解了,也就是说在我们写好的代码基础上,很容易实现扩展。

设计原则可以参考另外一篇文章设计模式-七大原则

设计模式这里总结了23种:

  • 创建型模式,共五种:工厂方法模式抽象工厂模式单例模式建造者模式原型模式

  • 结构型模式,共七种:适配器模式装饰器模式代理模式外观模式桥接模式组合模式享元模式

  • 行为型模式,共十一种:策略模式模板方法模式观察者模式迭代子模式责任链模式命令模式备忘录模式状态模式访问者模式中介者模式解释器模式

1k 1 分钟

开闭原则COP

  • 开闭原则(Open Closed Principle)是编程中最基础、最重要的设计原则。
  • 模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建框架,用实现扩展细节。
  • 当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。
  • 编程中遵循其他原则,以及使用设计模式的目的就是遵循开闭原则。
2.9k 3 分钟

Vue动态组件 component :is的使用

vue 动态组件用于实现在指定位置上,动态加载不同的组件,核心代码为:

<component :is="componentTag"></component>
data() {
    return {
        componentTag: '',
    }
}

componentTag 为自定义的变量,将需要加载的组件名赋值给它,即可在component标签出现的位置,渲染该组件。

2.3k 2 分钟

做网页有时候会用到JS检测IE的版本,下面是检测Microsoft Internet Explorer版本的三种代码!
有一种代码:

3.3k 3 分钟

当一个浏览器接收到从服务器发来的html页面,在渲染并呈现到屏幕上之前,有很多步骤要做。浏览器渲染页面需要做的一系列行为被称作“关键渲染路径(Critical Rendering Path 简称CRP)”。

2.7k 2 分钟

去年上半年开始全面使用linux进行开发和娱乐了,现在已经回不去windows了。

话归正传,在linux上一直使用vim,慢慢熟悉了它的命令,才终于领悟了什么是编辑器之神。

最近抽空整理了这份速查表,收获颇丰,并分享给大家。