Rhodi

深入理解闭包:从内存管理到编程范式的探索

引言 闭包(Closure)是编程语言中一个既基础又强大的概念,它赋予了函数“记住”上下文状态的能力。然而,闭包背后的实现机制及其与面向对象编程的关系。本文将从内存管理、语言设计、编程范式等角度,为你揭开闭包的神秘面纱。 一、闭包中的变量:堆还是栈? 逃逸分析决定变量去向 在 Go 语言中,闭包引用的外部变量的存储位置由编译器的逃逸分析(Escape Analysis)决定。如果变量...

一文读懂DDD

本文并不是DDD的实践方法论,而是关注DDD的动机和内在逻辑,用程序员最了解的技术视角,来解释DDD与常见的技术的关系. 什么是DDD DDD(Domain Drive Design)领域驱动设计,是一种针对复杂业务的大型系统的设计思想。 DDD并不是技术视角,也不是某种”软件架构“。这是很多程序员朋友初次接触容易踏入的理解误区。 为何需要DDD 单体应用应该是每一个应用的起点。就以We...

Maui最佳实践之 导航

客户端开发和前端开发不同,前端有丰富且多样的框架、组件库、文档,且大多数开源项目都非常优秀,使得开发一个web单页应用变得非常容易。但在前端中耳熟能详的“路由”、“状态管理”、“组件化”等概念,在客户端领域资料甚少。其次js与其他强类型语言不同,许多设计模式的实现,两者完全不同。 Maui最佳实践系列将以微软官方案例应用——eShop为例,分析其在架构设计、常用功能的封装和实现上...