Appearance
一个好的模块系统应该有助于解决软件工程中的一些基本需求:
存在将代码拆分为多个文件的方式
。这有助于使代码更具组织性,易于理解,功能开发和测试更独立允许代码在不同项目中复用
。模块可以实现通用逻辑用于不同的项目中。在模块中组织此类功能可以更容易地将其引入可能想要使用它的不同项目中。封装性(或信息隐藏)
。隐藏信息的复杂性,只暴露功能清晰的简单接口通常是一个好的想法。大多数模块系统允许选择性的使私有
代码隐藏,同时向使用者暴露该模块公开的
接口,比如功能,函数,类,或对象。依赖管理
。一个好的模块系统应当是模块开发者能轻松构建在已有模块之上,或第三方模块。模块系统还应该让模块使用者能够轻松地导入运行给定模块所必需的依赖链(临时依赖)。
📚 分清楚 module
和 module system
的区别很重要。我们可以定义一个模块为软件的实际单元,而模块系统则是允许我们定义模块和在项目中使用模块的一种语法和工具。
2022年09月12日22:15:54