【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);
}
相关推荐
RainbowSea12 分钟前
内网穿透配置和使用
java·后端
掘金码甲哥1 小时前
网关上的限流器
后端
q***06291 小时前
搭建Golang gRPC环境:protoc、protoc-gen-go 和 protoc-gen-go-grpc 工具安装教程
开发语言·后端·golang
GOTXX2 小时前
用Rust实现一个简易的rsync(远程文件同步)工具
开发语言·后端·rust
联系QQ:688238862 小时前
基于粒子群算法的光伏MPPT(可重启PSO)探秘
rust
ConardLi3 小时前
前端程序员原地失业?全面实测 Gemini 3.0,附三个免费使用方法!
前端·人工智能·后端
喵个咪3 小时前
Qt 优雅实现线程安全单例模式(模板化 + 自动清理)
c++·后端·qt
敖云岚3 小时前
【设计模式】简单易懂的行为型设计模式-策略模式
设计模式·策略模式
by__csdn4 小时前
Spring Boot 全面解析
java·数据库·spring boot·后端·spring
西岭千秋雪_4 小时前
Kafka客户端参数(一)
java·分布式·后端·kafka·linq