软件构架 - Clean Architecture Part 5 发表于 2019-03-24 | 更新于 2020-09-11 | 分类于 读书 , Clean Architecture 什么是软件构架?传统物理工程的构架,构架师们只需要将这个工程从框架到细节设计出来,然后由工人施工,产品就完成了。而软件与硬件最大的不同是, 软件需要持续的开发,修改Bug, 添加新功能,调整已有的功能等。所以说软件的构架并不仅仅是设计满足功能需求的软件,更重要的是为其后续的生命周期中的开发,维护,发布以及扩展提供保障。 阅读全文 »
模块耦合的三原则 - Clean Architecture Part 4 发表于 2019-03-23 | 更新于 2020-09-11 | 分类于 读书 , Clean Architecture 上次我们学习了如何决定一个类属于哪个模块,这次我们将学习如何处理模块之间的关系。 非循环依赖原则(The Acyclic Dependencies Principle)1Allow no cycles in the component dependency graph. 在一个系统中,模块之间的依赖关系图中不应该有循环。 阅读全文 »
模块聚合的三原则 - Clean Architecture Part 3 发表于 2019-03-21 | 更新于 2020-09-11 | 分类于 读书 , Clean Architecture 什么是模块?12Components are the units of deployment. They are the smallest entities that can be deployed as part of a system. 模块就是可部署的最小单位。不同的模块组合起来构成一个系统。 设计优良的模块可以做到独立的部署和独立的开发。 模块聚合(Components Cohesion)那么如何决定一个类应该属于哪个模块呢? 阅读全文 »
SOLID 设计原则 - Clean Architecture Part 2 发表于 2019-03-19 | 更新于 2020-09-11 | 分类于 读书 , Clean Architecture 这次我们将简单学习一下著名的SLOLID设计原则。 单一责任原则(The Single Responsibility Principle)1“A module should have one, and only one, reason to change.” Never change a same source file for different reasons, for different purpose. 阅读全文 »
Javascript 异步和事件循环(Event Loop) 发表于 2019-03-18 | 更新于 2020-09-11 | 分类于 javascript , 工作原理 单线程我们常说“JavaScript是单线程的”。 所谓单线程,是指在JS引擎中负责解释和执行JavaScript代码的线程只有一个。不妨叫它 主线程。 但是实际上还存在其他的线程。例如:处理AJAX请求的线程、处理DOM事件的线程、定时器线程、读写文件的线程(例如在Node.js中)等等。这些线程可能存在于JS引擎之内,也可能存在于JS引擎之外,在此我们不做区分。不妨叫它们 工作线程。 同步与异步同步(Sync): 如果在调用函数的时候,当这个函数返回时,你已经拿到了预期的结果,那么这个函数就是同步的。 阅读全文 »
开篇 - Clean Architecture Part 1 发表于 2019-03-18 | 更新于 2020-09-11 | 分类于 读书 , Clean Architecture 面向对象编程的重要性多态(polymorphism)最初开始于计算机IO设备的插件构建,对于计算机来说一个输入设备只是一个插件,只要这个输入设备提供了标准的接口,我们就可以随意更换。 面向对象编程使得插件构架可以在任何地方使用。这就是我们常说的面向接口(Interface)编程。 阅读全文 »
我的第一篇博客 发表于 2019-03-16 | 更新于 2020-09-11 | 分类于 教程 , 网站 从毕业到参加工作也已经两年了,一路上学到很多也忘记了很多。于是就开始了这个学习日记计划,将读过的书,学过的技术用文字记录下来,在多年之后看到也会收益良多吧。 启程在计划开始写学习日记后,决定使用一个静态网站生成工具(static website generator)来作为学习日记的载体。 静态网站生成器 (Static Website Generator)在过去的几年里,开源静态网站生成器的数量增长迅速,StaticGen 上几乎找得到每一种语言实现的版本。静态网站相比动态网站具备无需依赖应用服务器,性能优越,部署简单等特点。特别适合生成静态文档,个人博客和简单的网页应用。 阅读全文 »