【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);
}
相关推荐
IT_陈寒3 小时前
Python的GIL让我多写了500行代码
前端·人工智能·后端
Thneonl4 小时前
一个人从 Rust 内核做到 React 前端:我做了一个云原生 SRE 巡检图谱桌面工具
rust
IT爱学堂4 小时前
精讲软件设计师(软考中级)一站式通关课_实战课程_慕课网
后端
战天战地站房顶4 小时前
在 Windows Docker 中部署 PostgreSQL 17 + pgvector 完整指南
后端
卷无止境4 小时前
FastAPI Guard 全解析,从概念到工程落地的实战指南
后端·python
卷无止境4 小时前
FastAPI Users 全面解析:概念、原理与工程实战
后端·python
程序员爱钓鱼4 小时前
Go switch 详解
后端·面试·go
程序员爱钓鱼5 小时前
Rust Struct结构体详解:定义自己的复杂数据类型
后端·面试·rust
风流 少年5 小时前
Spring AI 2.0:MCP
java·后端·spring
北斗落凡尘5 小时前
LangGraph 入门实战(7)
后端·langchain