【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);
}
相关推荐
初恋叫萱萱4 小时前
深入解析 Rust + LLM 开发:手把手教你写一个 AI 运维助手
运维·人工智能·rust
怒放吧德德7 小时前
Java 网络编程核心:BIO、NIO、AIO IO 模型深度解析与实战
后端·netty
徐先生 @_@|||9 小时前
安装依赖三方exe/msi的软件设计模式
设计模式
Java后端的Ai之路9 小时前
【JDK】-JDK 21 新特性内容
java·开发语言·后端·jdk·jdk21
普通网友10 小时前
PHP语言的正则表达式
开发语言·后端·golang
shimly12345612 小时前
(done) 速通 rustlings(9) 分支跳转
rust
葵续浅笑12 小时前
从Spring拦截器到Filter过滤器:一次报文修改加解密的填坑经验
java·后端·spring
snakeshe101012 小时前
Java集合框架深度解析:核心类库与实战应用
后端
大鹏198812 小时前
告别 XML 与字符串拼接:dbVisitor 如何以“多范式融合”重塑 Java DAL 层
后端
你有医保你先上12 小时前
go-es:一个优雅的 Elasticsearch Go 客户端
后端·elasticsearch