![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
行为型设计模式
wust_cyl
在非洲,瞪羚每天早上醒来时,他知道自己必须跑的比最快的狮子还快,否则就会被吃掉.狮子每天早上醒来时,他知道自己必须追上跑得最慢的瞪羚,否则就会被饿死.不管你是狮子还是瞪羚,当太阳升起时,你最好开始奔跑
展开
-
JavaScript -- 设计模式 行为型设计模式-观察者模式
观察者模式的重要性无容置疑,作为一名前端工程师假如你只学一个设计模式的话,那么毫无疑问应该是观察者模式。 观察者模式:也被称为发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得它们能够自动更新自己。 早些时候,我们订阅报纸,订阅牛奶等,只要我们交了钱,每天早上小哥骑着自...原创 2019-06-22 19:54:17 · 167 阅读 · 0 评论 -
JavaScript -- 设计模式 行为型设计模式-迭代器模式
迭代器模式:提供一种方法顺序一个聚合对象中各个元素,而又不暴露该对象内部表示。迭代器模式的特点在于顺序访问一个集合,使用者无需知道内部结构。 在现实生活中好像例子不多,但是熟悉ES6的工程师应该知道es6中有iterator。我们先不看这个,先写一个小的demo代码来熟悉迭代器。 我们先看一下迭代器的UML类图 class Iterator { constructor(c...原创 2019-06-23 16:32:56 · 170 阅读 · 0 评论 -
JavaScript -- 设计模式 行为型设计模式-状态模式
状态模式:当一个对象里面有状态变化,而且当状态发生改变时,会触发一个逻辑(或者行为)。特别当状态比较多时,那么就需要状态模式,不能总是写if else 来控制。 生活中,红绿灯就是一个很好的状态模式的例子。 我们先来看一下简化版状态模式的类图。 我们以红绿灯为例,来写一下代码。 class State { constructor(color) { this.c...原创 2019-06-26 22:57:06 · 226 阅读 · 1 评论