pattern-macros
rust-patterns 库的过程宏扩展。这个 crate 提供了属性宏来简化 Rust 中设计模式的实现。
安装
在 Cargo.toml 中添加:
[]
= "0.1"
= "0.1" # 生成的代码需要这个依赖
提供的宏
#[simple_factory]
为 trait 生成简单工厂实现。
使用方法
use simple_factory;
// 这会生成:
// 1. 原始的 trait 定义
// 2. 名为 `MyTraitFactory` 的工厂结构体
// 3. 工厂的 `create` 方法实现
你也可以指定额外的 trait bound:
use simple_factory;
生成的代码
宏会生成一个工厂结构体,包含以下 create 方法:
工厂使用全局静态工厂实例,通过 LazyLock 实现线程安全的懒加载初始化。
系统要求
- Rust 1.70 或更高版本(需要
std::sync::LazyLock) rust-patternscrate 必须在你的项目中可用
许可证
本项目采用以下任一许可证:
- Apache 许可证 2.0 版本 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
你可以选择其中一种。
贡献
除非你明确声明,否则根据 Apache-2.0 许可证的定义,你提交的任何贡献都将按上述双重许可证授权,无需任何附加条款或条件。