【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);
}
相关推荐
老华带你飞14 小时前
学生宿舍管理|基于java + vue学生宿舍管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
唐装鼠15 小时前
rust AsRef 和 AsMut(deepseek)
rust
ArabySide15 小时前
【Spring Boot】理解Spring Bean作用域的设计
spring boot·后端·spring
计算机程序设计小李同学15 小时前
基于 Spring Boot 和 Vue.js 技术栈的网上订餐系统
vue.js·spring boot·后端
用户990450177800915 小时前
若依工作流集成camunda实现审批驳回功能
后端
掘金者阿豪15 小时前
开源工具新玩法:cpolar提升Penpot协作流畅度
后端
想用offer打牌15 小时前
逃出结构化思维:从向量,向量数据库到RAG
后端·架构·llm
唐装鼠15 小时前
Rust Cow(deepseek)
开发语言·后端·rust
想用offer打牌15 小时前
Reasoning + Acting: ReAct范式与ReAct Agent
人工智能·后端·llm