【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);
}
相关推荐
武子康1 分钟前
大数据-139 ClickHouse MergeTree 最佳实践:Replacing 去重、Summing 求和、分区设计与物化视图替代方案
大数据·后端·nosql
该用户已不存在13 分钟前
7个让全栈开发效率起飞的 Bun 工作流
前端·javascript·后端
清空mega31 分钟前
从零开始搭建 flask 博客实验(2)
后端·python·flask
G_dou_1 小时前
Rust安装
开发语言·后端·rust
YA3331 小时前
java设计模式八、组合模式
java·设计模式·组合模式
9ilk1 小时前
【仿RabbitMQ的发布订阅式消息队列】--- 模块设计与划分
c++·笔记·分布式·后端·中间件·rabbitmq
一枚码仔1 小时前
SpringBoot启动时执行自定义内容的5种方法
java·spring boot·后端
桦说编程2 小时前
如何在Java中实现支持随机访问的固定窗口队列
java·数据结构·后端
初学者,亦行者2 小时前
Rust性能优化:内存对齐与缓存友好实战
算法·rust
oak隔壁找我2 小时前
Spring框架中的跨域CORS配置详解
java·后端