【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);
}
相关推荐
梦梦代码精32 分钟前
《全栈开源智能体:终结企业AI拼图时代》
人工智能·后端·深度学习·小程序·前端框架·开源·语音识别
Victor3562 小时前
Hibernate(42)在Hibernate中如何实现分页?
后端
Victor3562 小时前
Hibernate(41)Hibernate的延迟加载和急加载的区别是什么?
后端
猪猪拆迁队2 小时前
2025年终总结-都在喊前端已死,这一年我的焦虑、挣扎与重组:AI 时代如何摆正自己的位置
前端·后端·ai编程
ConardLi2 小时前
SFT、RAG 调优效率翻倍!垂直领域大模型评估实战指南
前端·javascript·后端
Hooray3 小时前
2026年,站在职业生涯十字路口的我该何去何从?
前端·后端
唐叔在学习3 小时前
还在申请云服务器来传输数据嘛?试试P2P直连吧
后端·python
开心猴爷3 小时前
iOS 代码混淆在项目中的方式, IPA 级保护实践记录
后端
魅影骑士00104 小时前
柯里化函数
后端·设计模式
JOEH604 小时前
🛡️ 微服务雪崩救星:Sentinel 限流熔断实战,3行代码搞定高可用!
后端·全栈