【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);
}
相关推荐
码事漫谈6 小时前
当AI开始“思考”:我们是否真的准备好了?
前端·后端
Rust研习社6 小时前
关于 Rust Option 的那些事:从基础到常用 API 全解析
rust
铁东博客8 小时前
Go实现周易大衍筮法三变取爻
开发语言·后端·golang
oak隔壁找我8 小时前
SpringBoot中MyBatis的Mapper的原理
后端
oak隔壁找我8 小时前
Spring Boot 自动配置(Auto-configuration)的核心原理
后端
oak隔壁找我9 小时前
Java的JAR包
后端
GetcharZp9 小时前
告别 TCP 握手延迟!让你的 Go 服务瞬间拥抱 HTTP/3 时代
后端
oak隔壁找我9 小时前
SpringBoot 将项目打包成 Fat JAR(肥包),核心原理
后端
爱分享的阿Q10 小时前
Rust加WebAssembly前端性能革命实践指南
前端·rust·wasm