[译] Alan Kay: 后期绑定(late binding)的意义是什么?

[译] Alan Kay: 后期绑定(late binding)的意义是什么?

💡 原文中文,约1300字,阅读约需4分钟。
📝

内容提要

后期绑定是一种保持灵活性和安全性的想法,可以在运行时更改地址和寻址。它还可以延迟绑定对象和方法,实现替代方案和透明度。需要注意不要产生有害的依赖关系。

🎯

关键要点

  • 后期绑定是一种在保持灵活性和安全性的同时获得所需功能的思想。

  • 软件本身是计算机行为的后期绑定,硬件中的索引寄存器也可以实现后期绑定地址。

  • 内存管理单元(MMU)允许封装的本地寻址进行全局重定位,间接寻址使得运行时更容易进行更改。

  • 封装的对象允许延迟绑定方法,通过“什么”来使用,促进替代方案和透明度的实现。

  • 反射分析系统的其他部分如何设置,允许更务实的可能性。

  • 从战略角度看,尽可能保留后期绑定是一个好主意,动态去除自由度相对容易。

  • 优化可能违反模块边界,后期绑定模块应作为模型,违规行为应作为编程系统的务实特性。

  • 模块之间的交互可以以双重方式处理,Smalltalk作为消息传递系统的例子。

  • 有害的依赖关系是后期绑定的深层敌人,需要设计来真正利用后期绑定的思想。

  • Alan Kay认为OOP意味着消息传递、本地保留和极端的后期绑定,Smalltalk和LISP可以实现这一点。

➡️

继续阅读