【Rust设计模式之建造者模式】

Rust设计模式之建造者模式


什么是建造者模式

即将结构体属性方法与构建解离,使用专门的builder进行建造,说白了就是new和其他的方法分开,集中处理更方便。


直接上代码:

rust 复制代码
#[derive(Debug)]
struct children {
    name: String,
    age: u32,
}

impl children {
    pub fn find_generator() -> Generator {
        Generator::default()
    }
}
#[derive(Default)]
struct Generator {
    name: String,
    age: u32,
    //... and so on...
}

impl Generator {
    pub fn new() -> Generator {
        Generator {
            name: String::from("generator"),
            age: 11,
            //... and so on...
        }
    }
    pub fn buildchildren(self) -> children {
        children {
            name: self.name,
            age: self.age,
            //... and so on...
        }
    }
}

fn main() {
    let child_from_generator = Generator::new().buildchildren();
    println!("{:?}", child_from_generator);
}
相关推荐
代码探秘者几秒前
【大模型应用】3.分块入门
java·后端·python·spring
Victor3561 分钟前
MongoDB(49)什么是副本集?
后端
was1724 分钟前
基于 Rust 的跨 Shell 提示符:Starship 安装与环境初始化指南
开发语言·elasticsearch·rust
橙子家5 分钟前
Serilog 日志库简单实践(五)数据库 Sinks(.net8)
后端
独断万古他化1 小时前
【抽奖系统开发实战】Spring Boot 抽奖模块全解析:MQ 异步处理、缓存信息、状态扭转与异常回滚
java·spring boot·redis·后端·缓存·rabbitmq·mvc
RDCJM1 小时前
Spring Boot + Vue 全栈开发实战指南
vue.js·spring boot·后端
卷福同学8 小时前
【养虾日记】Openclaw操作浏览器自动化发文
人工智能·后端·算法
江湖十年9 小时前
Go 并发控制:sync.Pool 详解
后端·面试·go
jwn9999 小时前
Spring Boot 整合 Keycloak
java·spring boot·后端
mldlds9 小时前
SpringBoot详解
java·spring boot·后端