【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);
}
相关推荐
Victor35613 小时前
Hibernate(36)Hibernate如何处理多对多关系?
后端
Victor35613 小时前
Hibernate(35)什么是Hibernate的聚合函数?
后端
何中应13 小时前
@Autowrited和@Resource注解的区别及使用场景
java·开发语言·spring boot·后端·spring
源代码•宸13 小时前
Golang语法进阶(Context)
开发语言·后端·算法·golang·context·withvalue·withcancel
christine-rr13 小时前
linux常用命令(9)——查看系统与硬件信息
linux·运维·服务器·网络·后端
源代码•宸13 小时前
Golang语法进阶(Sync、Select)
开发语言·经验分享·后端·算法·golang·select·pool
IT_陈寒13 小时前
2024年JavaScript开发者必备的10个ES13新特性实战指南
前端·人工智能·后端
Mr -老鬼13 小时前
Electron 与 Tauri 全方位对比指南(2026版)
前端·javascript·rust·electron·nodejs·tauri
会员果汁16 小时前
13.设计模式-适配器模式
设计模式·适配器模式
uzong19 小时前
后端线上发布计划模板
后端