一、学习Rust设计模式18:新类型
1、描述
使用NewType模式来提供类型安全和封装。具体为:使用单个字段的元组作为一个类型的不透明包装
2、分析
这样做有什么作用?主要如下:
抽象化,新类型是零成本抽象,实现类型之间共享实现细节,同时精准控制;
区分不同的类型(如 struct Miles(f64)和struct Kms(f64));
举例如下:
二、学习设计模式19:RAII守护对象
1、描述
RAII即Resource Acquisition is Initialization(资源获取即初始化)。该模式具体为:使用RAII对象作为某些资源的守护对象。
2、示例
例如下面的代码,将MyMutexGuard作为Foo获取到锁资源的守护对象。
领取专属 10元无门槛券
私享最新 技术干货