【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);
}
相关推荐
woniu_maggie2 小时前
SAP消息号修改处理与应用
后端·学习
bing_1583 小时前
spring Boot 3.0 和2.0的区别
java·spring boot·后端
Master_Azur3 小时前
java异常与自定义异常
后端
君主黑暗3 小时前
设计模式-抽象工厂模式
设计模式·抽象工厂模式
白宇横流学长3 小时前
基于 SpringBoot 的社团活动报名管理系统设计与实现
java·spring boot·后端
寰宇的行者3 小时前
设计模式:单例模式
单例模式·设计模式
野犬寒鸦4 小时前
从零起步学习AI大模型应用开发 || 第三章:智能体项目实战中的问题与解决方案及思路详解
java·服务器·数据库·人工智能·后端·面试
没有bug.的程序员4 小时前
Spring Boot 与 MyBatis-Plus 批量插入的生死狙击
java·spring boot·后端·mybatis·plus·批量插入
稻草猫.4 小时前
Spring统一功能处理
java·后端·spring
Gopher_HBo4 小时前
ThreadLocal原理(二)
后端