2019-01-25 | 设计模式手册 | UNLOCK

设计模式手册之解释器模式

解释器模式: 提供了评估语言的语法表达式的方式。

实现这种模式的核心是:

  1. 抽象表达式:主要有一个interpret()操作
    • 终结符表达式:R = R1 + R2中,R1 R2就是终结符
    • 非终结符表达式:R = R1 - R2中,-就是终结符
  2. 环境(Context): 存放文法中各个终结符所对应的具体值。比如前面R1R2的值。
README MORE >>>
2019-01-19 | 设计模式手册 | UNLOCK

设计模式手册之桥接模式

在封装开源库的组件时候,经常会用到这种设计模式。

例如,对外提供暴露一个afterFinish函数,
如果用户有传入此函数, 那么就会在某一段代码逻辑中调用。

这个过程中,组件起到了“桥”的作用,而具体实现是用户自定义。

README MORE >>>
2019-01-17 | 设计模式手册 | UNLOCK

设计模式手册之适配器模式

适配器模式为多个不兼容接口之间提供“转化器”。

它的实现非常简单,检查接口的数据,
进行过滤、重组等操作,使另一接口可以使用数据即可。

README MORE >>>
2019-01-16 | 设计模式手册 | UNLOCK

设计模式手册之状态模式

状态模式:对象行为是基于状态来改变的。

内部的状态转化,导致了行为表现形式不同。
所以,用户在外面看起来,好像是修改了行为。

README MORE >>>
2019-01-12 | 设计模式手册 | UNLOCK

设计模式手册之装饰者模式

装饰者模式:在不改变对象自身的基础上,动态地添加功能代码。

根据描述,装饰者显然比继承等方式更灵活,而且不污染原来的代码,代码逻辑松耦合。

README MORE >>>
2019-01-07 | 设计模式手册 | UNLOCK

设计模式手册之责任链模式

责任链模式:多个对象均有机会处理请求,从而解除发送者和接受者之间的耦合关系。这些对象连接成为链式结构,每个节点转发请求,直到有对象处理请求为止。

其核心就是:请求者不必知道是谁哪个节点对象处理的请求。如果当前不符合终止条件,那么把请求转发给下一个节点处理。

README MORE >>>
2018-12-24 | 每周分享 | UNLOCK

每周分享第 2 期

每周分享会系统梳理过去一周我看的的值得记录和分享的技术、工具、文章/段子,致力于为收藏夹“瘦身”!

👇 内容速览 👇

  • 谁说虚拟 DOM 比原生 DOM 操作快?(尤大大亲答)
  • Windows 平台下使用 Git 出现“warning: LF will be replaced by CRLF”?
  • 怎么清空一个 github 线上仓库?
  • 为什么要用Golang替代Python?
  • React封装Toast组件
README MORE >>>
2018-12-16 | 设计模式手册 | UNLOCK

设计模式手册之享元模式

享元模式:运用共享技术来减少创建对象的数量,从而减少内存占用、提高性能。

  1. 享元模式提醒我们将一个对象的属性划分为内部和外部状态
    • 内部状态:可以被对象集合共享,通常不会改变
    • 外部状态:根据应用场景经常改变
  2. 享元模式是利用时间换取空间的优化模式。
README MORE >>>
2018-12-12 | 设计模式手册 | UNLOCK

设计模式手册之组合模式

组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构。

  1. 用小的子对象构造更大的父对象,而这些子对象也由更小的子对象构成
  2. 单个对象和组合对象对于用户暴露的接口具有一致性,而同种接口不同表现形式亦体现了多态性
README MORE >>>
2018-12-08 | 每周分享 | UNLOCK

每周分享第 1 期

每周分享主要目的是将这一周我看的的值得记录和分享的技术、工具、文章还有段子进行系统梳理,以方便回顾查看。灵感来源于阮一峰老师的“每周分享”专题。

欢迎投稿,或推荐好玩的东西,方式是向`yuanxin.me@gmail.com`发邮件或者在每周分享文章的评论区留言。

README MORE >>>