Java

Notes

通过控制反转降低代码耦合

或许你在学习 Spring 的时候曾听过,Spring 提供的容器叫做 IoC 容器。 IoC 是 Inversion of Control 的缩写,中文翻译为控制反转。控制反转是一种设计原则,早在 2004 年 Martin Fowler 便提出依赖反转,即依赖对象的获得被反转了。 非控制反转的问题 大多数应用程序都是由两个或是更多的类或组件通过彼此的合作来实现业务逻辑,这使得每个对象都需要获取与其合作的对象(也就是它所依赖的对象)的引用。 如果这个获取过程要靠自身实现,那么这将导致代码高度耦合并且难以维护和调试。 直接实例化与紧耦合 比如 A 组件需要调用 B,一般情况下你可能会在 A 的 constructor 或 init 块中显式建立 B 组件然后调用。 class A { private val b = new B(

By AHdark

Notes

记录一次自建短链接系统

4月9日,我注册了 ahd.im 域名并打算以此为基础搭建短链接系统。但当我在 GitHub 等平台搜索了一圈,却没有找到令我满意的作品。大多数UI丑陋或是算法效率低下,难以满足我的愿景,因此我决定着手写一套自己的短链接系统。 选择 这是我第一次独立完成一套全栈系统,其摸索的过程自然会为我全栈开发能力积累经验。因此,选择一套高效、高兼容、普适的技术栈自然是极为重要的一步。 后端 对于后端,最重要的是保证代码质量和执行效率。 PHP 效率太低,代码混乱,不被我欣赏。 ExpressJS 不适合写较大的系统应用,其并发也不强,且代码中同步异步容易混乱。 Golang 尽管性能较强,但不符合我的代码习惯。 C++ 应该就没有一个能用的Web开发框架。 最后,我选择了使用 Java Spring Boot 框架撰写后端功能,使用 MyBatis + MySQL 进行数据控制。 前端 前端便没有那么多选择了。 jQuery 我不是很熟悉,且当今时代高级前端框架林立,

By AHdark