Java IoC + DI 设计模式在 Rust 的技术落地,严谨灵活!

非凸科技 · 2022年08月26日 · 2359 次阅读

【Rust - Strategy / Policy 策略·模式】、【OOP - Dependency Inversion 依赖倒置·模式】、【Javascript - Callback Functon 回调函数·模式】,同属一类设计模式组合,即【Inversion of Control + Dependency Injection(控制反转 + 依赖注入)】,简称【IoC + DI】。

那么【IoC + DI】在 Rust 的技术落地,是怎样的?

相对于弱类型的 Js,强类型的 Rust:

1.借助 Trait method,约定 “回调函数” 的函数签名 — Js 没有类型,也就不需要书面地声明(回调)函数签名。所有技术细节,都以对 IoC 容器透明的方式被封装于此回调函数里。

2.借助 Trait 实现类的(私有)字段,从 IoC 容器外捕获变量 — Js 函数的天赋技能之一就是【捕获变量】,所以不用显示地写这类代码。这样从 DI 接口注入就不只是功能 “行为”,还有(独立于输入数据的)额外状态信息。

相对于玩转【堆】的 Java,Rust 还允许向 IoC 容器注入复杂数据类型的【栈】变量值,而无论该变量值是被【静态分派】还是【动态分派】。

所以,【IoC + DI】设计模式在 Rust 的技术落地,比 js 严谨,比 java 灵活。

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册