获得徽章 18
- 浏览器异步任务的执行原理背后其实是一套事件驱动的机制。事件触发、任务选择和任务执行都是由事件驱动机制来完成的。NodeJS 和浏览器的设计都是基于事件驱动的,简而言之就是由特定的事件来触发特定的任务,这里的事件可以是用户的操作触发的,如 click 事件;也可以是程序自动触发的,比如浏览器中定时器线程在计时结束后会触发定时器事件。而本文的主题内容事件循环其实就是在事件驱动模式中来管理和执行事件的一套流程。展开评论点赞
- 我们可以肆无忌惮的修改某个页面或者某个组件的样式,而不用担心会不会有什么额外的影响。
这和传统的样式解决方案是不同的。
在传统的样式解决方案中,我们修改某个样式,可能需要在一堆文件中查找,会不会破坏某些东西,或者引起样式冲突。而修改之后的测试和验证将会更难。
这就是传统样式解决方案的问题:会让样式的维护难度随着项目的复杂度增加而一同增加。展开评论点赞 - 人类的资本形式一直都在发生变化,新资本形式的出现往往代表着一种新的阶级,比如工业革命带来的工业资本,能源革命形成的能源资本,信息技术革命带来的网络资本,代表华尔街金融业的金融资本等等,任何一种资本都需要和某种价值物进行绑定,从而实现资本的价值兑现,当资本绑定的价值物消失或者衰亡,那么资本也随之消失。评论点赞
- 对代理模式的定义为 为一个对象提供一个代用品或占位符,以便控制对它的访问。代理模式的关键是当客户不方便直接访问一个对象或者不满足需要的时候,提供一个替身对象来控制对这个对象的访问。客户实际上访问的是替身对象。替身对象对请求做出一些处理之后,再把请求转交给本体对象。评论点赞
- 抽象化角色和实现化角色可以继承的方式独立扩展而不相互影响,在程序运行时可以动态讲一个抽象化子类的对象和一个实现化子类的对象进行组合,即系统需要对抽象化角色和实现化角色进行动态耦合。
一个类存在两个独立变化的维度,且这两个维度都需要进行扩展。虽然在系统中使用继承是没有问题的,但是由于抽象化角色和具体化角色需要独立变化,设计需求需要独立管理这两者。
对于那些不希望使用继承或因为多层次继承导致系统类的个数急剧增加的系统,桥接模式尤为适用。展开评论点赞 - 单例模式的概念和使用场景都很容易理解,结合一些优秀的开源代码相信大家对单例模式的场景和作用也有了更深刻的认识。在前端开发中,单例模式算是比较常用的设计模式之一,尤其是惰性单例,在开发中非常实用。同时,在举例单例模式时,也巩固了上节所说的单一职责原则的概念,并根据这一设计原则对代码进行了优化,抽象出了更加通用的惰性单例,希望大家能通过这篇文章学到一些的编码技巧。评论点赞
- 策略模式指的是定义一系列的算法,把他们的一个个封装起来,将不变的部分和变化的部分隔开是每个设计模式的主题。这个模式可以来代替自己经常使用的if-else写法,既解决了可维护性,也遵守了开放封闭原则评论点赞