摘要: 这是一个常用的模式,也是一个容易理解的模式,我从这里面认识了什么叫钩子方法。 模版方法模式,很简单就是就是父类中对算法进行封装,子类中添加子集的方法做不同实现,并且父类中可以设置钩子函数,子类通过调用钩子函数控制父类的算法流程。注意这里还有一个原则,避免对象之间过度依赖。会造成项目混乱,要遵循最少知 阅读全文
posted @ 2018-12-22 16:23 node-吉利 阅读(266) 评论(0) 推荐(0)
摘要: 对象有不同的状态,不同的状态对应不同的动作。 这样也有确定就是有很多冗余的代码,但是这些代码是比较容易维护的的, 如果你的代码需要修改,不是写一次就不用了,这还是很有必要的。 注意每一个状态都具有相同的接口。我感觉这是一种浪费,因为有些状态之间是不能直接切换的。但是不容加上防止后期出错。 代码如下: 阅读全文
posted @ 2018-12-22 16:22 node-吉利 阅读(699) 评论(0) 推荐(0)
摘要: 就是不修改原来的对象的情况下,对对象的功能进行扩充的一种方法。遵循的是开放封闭原则,类可以扩充但是不可以修改。 各种粥里面有不同的调料,不同的调料可以加不同的量,最后粥的价钱不等。下面是es实现: // 注意粥里面可以加入不同的调料,调料不一样价钱不一样。 class Porridge{ const 阅读全文
posted @ 2018-12-22 16:20 node-吉利 阅读(423) 评论(0) 推荐(0)
摘要: 策略模式的本质,也是设计模式的本质,是将易变化的部分分离出去,不管是对象和对象的行为分离,还是对象和对象表现分离等,都遵循。这是最基本的设计原则。然后把他们组合到一起,生成你需要的,不要管那么多设计原则,最终的目的是好维护,易读懂。 class Duck{ constructor(id){ this 阅读全文
posted @ 2018-12-22 16:16 node-吉利 阅读(371) 评论(0) 推荐(0)
摘要: 下面是观察者模式,其实是一对多的关系,向观察者发送数据。发送方式有两种,主动发送和被动发送。存在一个问题是主题可能把观察者不感兴趣的数据发送过去。方法简单实现也好实现。并且也容易理解。 class OriginData{ constructor(temperature,humidity,weathe 阅读全文
posted @ 2018-12-22 16:15 node-吉利 阅读(380) 评论(0) 推荐(0)
摘要: 这个模式其实比较难理解,一般的理解可能存在问题,这是对对象的使用和对象生产分离,例子是不完整的看例子仔细体会呀 class Jianbing{ constructor(){ this.jian = null; } orderCreater(){ this.jian = this.JianbingCr 阅读全文
posted @ 2018-12-22 16:13 node-吉利 阅读(526) 评论(0) 推荐(0)
摘要: 模式的本质是将对象的行为和对象的调用者解耦。和策略模式不同的是将对象和对象的行为解耦。对于调用这来说只是执行excute方法就行了。这里需要注意三部分,命令对象,调用者对象,被调用对象。 命令模式将"请求"封装成对象,以便使用不同的请求,队列,或者日志来参数化其他对象。命令模式也支持撤销操作。 代码 阅读全文
posted @ 2018-12-22 16:12 node-吉利 阅读(426) 评论(0) 推荐(0)
摘要: 提到nodejs都知道单线程异步I/O,但是能说清楚为什么单线程异步I/O,为什么能增加网络吞吐量,怎么充分利用cpu资源嗯,这个知道的就不多了。 首先要说的是I/O,I/O是计算机的抽象概念,指的是键盘,鼠标,打印机,套接字等和内存之间的数据交换,I/O的速度是很慢的,知道计算机存贮模型的都知道, 阅读全文
posted @ 2018-12-22 16:07 node-吉利 阅读(434) 评论(0) 推荐(0)
摘要: setImmediate() vs setTimeout()区别:setImmediate()和setTimeout()是很相似的,由于他们被调用的时机不同从而他们的行为不同。setImmediate(),一旦poll阶段完成,就立即执行的脚本代码。setTimeout(),在给定的阈值之后尽可能快 阅读全文
posted @ 2018-12-22 16:03 node-吉利 阅读(2340) 评论(0) 推荐(0)
摘要: 什么是事件循环?尽管js是单线程的,但是只要一有可能,事件循环通过切断和系统内核之间的联系,来实允许node执行非阻 塞I/O。因为大多数现代内核都是多现成的,他们能在后台处理执行多个操作。当其中一个操作完成后,内核就会通 知node以便相应的回调添加到poll队列中,该回调最终会被执行。我们稍后将 阅读全文
posted @ 2018-12-22 11:27 node-吉利 阅读(357) 评论(0) 推荐(0)