【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);
}
相关推荐
Mars酱27 分钟前
1分钟了解响应式编程 | 合适的架构调整
java·后端·响应式编程
浪客川32 分钟前
【百例RUST - 005】所有权和切片
开发语言·后端·rust
古城小栈34 分钟前
Axum: Rust 好用的 Web 框架
开发语言·rust
ChildrenGreens38 分钟前
otel-collector全家桶
后端
goodlook012338 分钟前
监控平台搭建-日志-springboot直接推送loki篇(九)
java·spring boot·后端·grafana
老土豆豆豆40 分钟前
你们Agent如何实现Code-Execution的?或许Agent-Sandbox也是你们需要的
后端
程序员爱钓鱼1 小时前
Node.js 编程实战:测试与调试 —— Mocha / Jest / Supertest 使用指南
前端·后端·node.js
小楼v1 小时前
深入全面理解幂等性设计原理及实现幂等的主流方案
后端·雪花算法·幂等性·幂等设计
czlczl200209251 小时前
从 SSO 登录到跨系统资源访问:OAuth2 全链路交互详解
java·spring boot·后端·spring·架构