【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);
}
相关推荐
cultivator12948026 分钟前
设计原则和设计模式助记
设计模式
enjoy编程1 小时前
Spring boot 4 探究netty的关键知识点
spring boot·设计模式·reactor·netty·多线程
加洛斯1 小时前
SpringSecurity入门篇(1)
后端·架构
一 乐1 小时前
餐厅点餐|基于springboot + vue餐厅点餐系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端
用户93816912553601 小时前
Head First 单例模式
后端·设计模式
半夏知半秋1 小时前
rust学习-循环
开发语言·笔记·后端·学习·rust
爬山算法1 小时前
Hibernate(25)Hibernate的批量操作是什么?
java·后端·hibernate
KawYang2 小时前
Spring Boot 使用 PropertiesLauncher + loader.path 实现外部 Jar 扩展启动
spring boot·后端·jar
青梅主码2 小时前
2026开年第一炸!陈天桥携代季峰发布 MiroThinker 1.5:30B参数跑出 1T 性能,搜索智能体天花板来了
后端
数据小馒头2 小时前
MySQL 性能调优:从EXPLAIN到JSON索引优化
后端