【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);
}
相关推荐
浮尘笔记21 小时前
在Snowy后台无需编码实现自动化生成CRUD操作流程
java·开发语言·经验分享·spring boot·后端·程序人生·mybatis
第一程序员21 小时前
2026年GitHub上最火的10个Python项目,Rust开发者必看
python·rust·github
希望永不加班21 小时前
SpringBoot 接口签名验证(AppKey/Secret)
java·spring boot·后端·spring
ConardLi21 小时前
开源我的 GPT-Image2 生图 Skill,附大量玩法指南
前端·人工智能·后端
fengxin_rou21 小时前
RabbitMQ安装教程:windows本地安装和docker部署
java·分布式·后端·rabbitmq
哔哩哔哩技术21 小时前
GPU隔离技术的分析与改进
后端
a8a30221 小时前
Laravel7.x核心特性全解析
java·spring boot·后端
AI人工智能+电脑小能手21 小时前
【大白话说Java面试题】【Java基础篇】第19题:HashMap的key如何减少发生哈希冲突
java·开发语言·后端·面试·哈希算法·hash-index·hash
aLTttY21 小时前
Spring Boot集成AI大模型实战:从0到1打造智能应用
人工智能·spring boot·后端
Gopher_HBo1 天前
Disruptor源码
后端