【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);
}
相关推荐
盐水冰5 分钟前
【烘焙坊项目】补充完善(1)- SpringAI大模型接入
java·后端·大模型
yuanlaile20 分钟前
Go语言(Golang)2026年3月整理经典面试常见问题面试题汇总,建议收藏
后端·golang·go语言面试题·golang后端开发·2026golang面试
斌糖雪梨37 分钟前
spring registerBeanPostProcessors(beanFactory) 源码详解
java·后端·spring
wqww_11 小时前
springboot 使用websocket来记录移动人物坐标
spring boot·后端·websocket
一只幸运猫.1 小时前
Rust实用工具特型-Clone
开发语言·后端·rust
0xDevNull1 小时前
Java BigDecimal 完全指南:从入门到精通
java·开发语言·后端
无心水1 小时前
17、Java内存溢出(OOM)避坑指南:三个典型案例深度解析
java·开发语言·后端·python·架构·java.time·java时间处理
咚为2 小时前
深入浅出 Rust 内存顺序:从 CPU 重排到 Atomic Ordering
开发语言·后端·rust
程序员榴莲2 小时前
设计模式之GoF设计模式(单例模式
单例模式·设计模式
weixin_408099672 小时前
OCR 在线识别 + API 接口实战:从网页验证到系统集成
图像处理·人工智能·后端·ocr·api·图片文字识别·文字识别