【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);
}
相关推荐
毕设源码-钟学长2 小时前
【开题答辩全过程】以 基于SpringBoot的智能书城推荐系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
忧郁的Mr.Li3 小时前
设计模式--工厂模式
设计模式
青春男大4 小时前
Redis和RedisTemplate快速上手
java·数据库·redis·后端·spring·缓存
张张努力变强4 小时前
C++ 类和对象(四):const成员函数、取地址运算符重载全精讲
开发语言·数据结构·c++·后端
HL_风神5 小时前
C++设计模式浅尝辄止
c++·设计模式
不吃香菜学java5 小时前
springboot左脚踩右脚螺旋升天系列-整合开发
java·spring boot·后端·spring·ssm
会员果汁6 小时前
22.设计模式-享元模式(Flyweight)
设计模式·哈希算法·享元模式
奋进的芋圆7 小时前
Java 锁事详解
java·spring boot·后端
郑州光合科技余经理7 小时前
技术架构:海外版外卖平台搭建全攻略
java·大数据·人工智能·后端·小程序·架构·php
亓才孓7 小时前
[设计模式]单例模式的懒汉式写法
单例模式·设计模式