【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);
}
相关推荐
杉之10 分钟前
常见前端GET请求以及对应的Spring后端接收接口写法
java·前端·后端·spring·vue
hycccccch38 分钟前
Canal+RabbitMQ实现MySQL数据增量同步
java·数据库·后端·rabbitmq
bobz9651 小时前
k8s 怎么提供虚拟机更好
后端
bobz9652 小时前
nova compute 如何创建 ovs 端口
后端
用键盘当武器的秋刀鱼2 小时前
springBoot统一响应类型3.5.1版本
java·spring boot·后端
Asthenia04123 小时前
从迷宫到公式:为 NFA 构造正规式
后端
Asthenia04123 小时前
像整理玩具一样:DFA 化简和状态等价性
后端
Asthenia04123 小时前
编译原理:打包思维-NFA 怎么变成 DFA
后端
非ban必选3 小时前
spring-ai-alibaba第五章阿里dashscope集成mcp远程天气查询tools
java·后端·spring
Asthenia04124 小时前
从直觉到严谨:编译原理中的非确定有限自动机(NFA)
后端