【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);
}
相关推荐
卷无止境1 小时前
当独立开发者也能造出3A画质的游戏:Godot引擎深度解析
后端·python·godot
doiito1 小时前
【Agent Harness】Gliding Horse 最新升级:把“智能闭环”真正跑通的一次深度优化
rust·架构设计·系统设计·ai agent
独行侠影a2 小时前
SpringBoot 分布式锁实战:Redisson 解决订单超卖并发问题
spring boot·分布式·后端
妙码生花2 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(五十八):后台系统配置管理实现
前端·后端·go
IT_陈寒3 小时前
Java并行流把我坑惨了:原来不是线程安全的!
前端·人工智能·后端
Lihua奏4 小时前
跨域:浏览器到底拦住了什么
后端
Lyra_Infra4 小时前
Docker OCI Runtime 启动失败问题排查与解决
后端·docker·架构
XuCoder4 小时前
Redis 哨兵模式:它到底是怎么保证高可用的
后端
敲个大西瓜5 小时前
Springboot核心面试题
java·spring boot·后端