摘要: 有人会问前端需要会数据结构吗,前端需要会算法吗?这些针对内存和cpu的家伙对我来说有什么用呢?如果你问一个前端工程狮,工作中遇到遇到的数据结构问题,他一脸蒙蔽,“老子不用数据结构,照样能写出来老板需要的代码。学数据结构有求用”。如果只做前端的话数据结构确实没用。链表,散列表,队列,栈。前端最多弄个数 阅读全文
posted @ 2018-12-24 20:21 node-吉利 阅读(314) 评论(0) 推荐(0) 编辑
摘要: node提供了四种方法来创建子进程,分别是child_process.exec(),child_process.execFile(), child_process.fork(),child_process.spawn()。他们都返回子进程对象。exec:启动一个子进程执行命令,并且有一个回调函数获知 阅读全文
posted @ 2018-12-24 16:40 node-吉利 阅读(608) 评论(0) 推荐(0) 编辑
摘要: node是v8引擎实现的,所以是v8的内存管理。涉及到的主要方法有: process.memoryUsage(),v8.getHeapSpaceStatistics(),v8.getHeapStatistics(),os.cpus(),os.totalmem();下面这个讨论,在开始讨论以前先说一下 阅读全文
posted @ 2018-12-24 11:00 node-吉利 阅读(3910) 评论(0) 推荐(0) 编辑
摘要: 这是一个常用的模式,也是一个容易理解的模式,我从这里面认识了什么叫钩子方法。 模版方法模式,很简单就是就是父类中对算法进行封装,子类中添加子集的方法做不同实现,并且父类中可以设置钩子函数,子类通过调用钩子函数控制父类的算法流程。注意这里还有一个原则,避免对象之间过度依赖。会造成项目混乱,要遵循最少知 阅读全文
posted @ 2018-12-22 16:23 node-吉利 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 对象有不同的状态,不同的状态对应不同的动作。 这样也有确定就是有很多冗余的代码,但是这些代码是比较容易维护的的, 如果你的代码需要修改,不是写一次就不用了,这还是很有必要的。 注意每一个状态都具有相同的接口。我感觉这是一种浪费,因为有些状态之间是不能直接切换的。但是不容加上防止后期出错。 代码如下: 阅读全文
posted @ 2018-12-22 16:22 node-吉利 阅读(663) 评论(0) 推荐(0) 编辑
摘要: 就是不修改原来的对象的情况下,对对象的功能进行扩充的一种方法。遵循的是开放封闭原则,类可以扩充但是不可以修改。 各种粥里面有不同的调料,不同的调料可以加不同的量,最后粥的价钱不等。下面是es实现: // 注意粥里面可以加入不同的调料,调料不一样价钱不一样。 class Porridge{ const 阅读全文
posted @ 2018-12-22 16:20 node-吉利 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 策略模式的本质,也是设计模式的本质,是将易变化的部分分离出去,不管是对象和对象的行为分离,还是对象和对象表现分离等,都遵循。这是最基本的设计原则。然后把他们组合到一起,生成你需要的,不要管那么多设计原则,最终的目的是好维护,易读懂。 class Duck{ constructor(id){ this 阅读全文
posted @ 2018-12-22 16:16 node-吉利 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 下面是观察者模式,其实是一对多的关系,向观察者发送数据。发送方式有两种,主动发送和被动发送。存在一个问题是主题可能把观察者不感兴趣的数据发送过去。方法简单实现也好实现。并且也容易理解。 class OriginData{ constructor(temperature,humidity,weathe 阅读全文
posted @ 2018-12-22 16:15 node-吉利 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 这个模式其实比较难理解,一般的理解可能存在问题,这是对对象的使用和对象生产分离,例子是不完整的看例子仔细体会呀 class Jianbing{ constructor(){ this.jian = null; } orderCreater(){ this.jian = this.JianbingCr 阅读全文
posted @ 2018-12-22 16:13 node-吉利 阅读(517) 评论(0) 推荐(0) 编辑
摘要: 模式的本质是将对象的行为和对象的调用者解耦。和策略模式不同的是将对象和对象的行为解耦。对于调用这来说只是执行excute方法就行了。这里需要注意三部分,命令对象,调用者对象,被调用对象。 命令模式将"请求"封装成对象,以便使用不同的请求,队列,或者日志来参数化其他对象。命令模式也支持撤销操作。 代码 阅读全文
posted @ 2018-12-22 16:12 node-吉利 阅读(413) 评论(0) 推荐(0) 编辑