MoonBit 新特性:Virtual Package 虚拟包机制
Moonbit 最近新增了一项特性:virtual package。通过将一个 package 声明为虚拟包,定义好一套接口(通过 .mbti 文件声明),**用户可选择具体使用哪一份实现,如不指定则使用该虚拟包的默认实现。通过这项特性,给分离接口与实现带来较大灵活性。**注意:目前这项特性处于实验性状态。
使用方法
以: virtual_pkg_demo 这个项目为例,项目结构如下:
.
├── virtual // 声明为 virtual package,其中的 virtual.mbti 定义了一套接口
├── impl // 为 virtual 包中的接口提供了一份自定义实现
├── lib // 依赖了 virtual 包中的接口