软件架构与算法
文章平均质量分 92
枫之谷的花蘑菇
这个简述很懒,没有填写这人。
展开
-
使用依赖注入框架管理多实例服务(以 InversifyJS 为例)
以上就是我在使用依赖注入框架重构项目时,对于多实例服务管理的一些思考与实践。它成功地帮我完成了整个项目的重构,也让我对于依赖注入框架有了更深的理解。但于此同时,我也在实践中发现了许多依赖注入框架的局限性。但这并不说明依赖注入框架不够完善,而是说明了依赖注入作为一种设计模式与思想,它有其匹配的设计哲学。例如在上述的例子中,真正按照框架的最佳实践来说,我们应当只为服务注入行为抽象,而不是某些具体的变量数据,这对代码可测性来说非常重要。原创 2023-06-27 17:07:06 · 246 阅读 · 0 评论 -
浅析依赖注入框架的生命周期(以 InversifyJS 为例)
在上一篇介绍了 VSCode 的依赖注入设计,并且实现了一个简单的 IOC 框架。但是距离成为一个生产环境可用的框架还差的很远。行业内已经有许多非常优秀的开源 IOC 框架,它们划分了更为清晰地模块来应对复杂情况下依赖注入运行的正确性。这里我将以 InversifyJS 为例,分析它的生命周期设计,来弄清楚在一个优秀的 IOC 框架中,完成一次注入流程到底是什么样的。原创 2023-02-10 17:46:02 · 710 阅读 · 0 评论 -
有向无环图的模型设计与应用
从 TodoList 说起对于我们程序开发者来说,想要学习一个框架,从开发一个 TodoList 项目做起,这就像学习语言先学会写 Hello world 一样基础。但其实,简单的 TodoList 里面,同样可以蕴含一些复杂的算法思想。设想一下,今天需要完成若干个任务,需要规划一下工作流,可以通过 TodoList 记录下来。但与普通的线性工作不同的是,每条工作任务可能会有若干个前置工作,那么现在我们该如何分配工作顺序呢?其实这样的事情在我们自己平时的工作中经常遇到,而我们通常的做法是:优先找出不需原创 2020-11-06 15:38:56 · 846 阅读 · 0 评论 -
强烈推荐一本数据结构和算法入门类书籍
一直都很想强烈安利啊哈磊老师的一本书,书名叫做<啊哈!算法>(国际标准书号ISBN 978-7-115-35459-4)原创 2016-09-20 17:42:48 · 18818 阅读 · 2 评论 -
代码重构之我见
最近在看一些软件工程和构建方面的书籍。俗话说,书读百遍,其义自见,看得多了,自然也就有一些知识可以拿得出手分享一二了。由于我在写代码的过程中往往很追求代码的优雅和简洁,因此我着重阅读了代码重构方面的知识,现在对代码的重构也算略有体会了。接下来我将结合我所吸收到的知识与我自己的一些理解和观点来阐述一下代码重构的艺术。先来说说代码重构是什么吧。重构一般是指把代码优化,便于再修改和开发的一种过程。重构并不原创 2016-10-16 20:41:53 · 2366 阅读 · 0 评论