当前位置: 首页 > news >正文

做搜狗手机网站长尾表格比较多得网站这么做响应式

做搜狗手机网站长尾,表格比较多得网站这么做响应式,云建站源码,wordpress 导航菜单目录 生成器模式(Builder Pattern) 实际应用 构建一辆汽车 构建一台计算机 构建一个房子 总结 生成器模式(Builder Pattern) 生成器模式是一种创建型设计模式,它允许你分步骤创建复杂对象。与其他创建型模式不同…

目录

生成器模式(Builder Pattern)

实际应用

构建一辆汽车

构建一台计算机

构建一个房子

总结


生成器模式(Builder Pattern)

生成器模式是一种创建型设计模式,它允许你分步骤创建复杂对象。与其他创建型模式不同的是,生成器模式允许你在一个过程中创建一个对象,而无需等待所有部分都准备好。这种模式特别适用于需要构造不同表示或状态的复杂对象时。

实际应用

1. 需要构造的对象包含多个部分,且需要分步骤创建。
2. 希望使用相同的创建过程来构造不同表示的对象。
3. 构造过程需要能够被隔离和独立变化。

构建一辆汽车

假设我们有一个`Car`类,它有很多可选属性,例如车的颜色、发动机类型、轮胎类型等等。

#include <iostream>
#include <string>class Car {
public:std::string color;std::string engine;std::string tires;std::string interior;void show() {std::cout << "Car Details:\n"<< "Color: " << color << "\n"<< "Engine: " << engine << "\n"<< "Tires: " << tires << "\n"<< "Interior: " << interior << "\n";}
};class CarBuilder {
private:Car car;
public:CarBuilder& setColor(const std::string& color) {car.color = color;return *this;}CarBuilder& setEngine(const std::string& engine) {car.engine = engine;return *this;}CarBuilder& setTires(const std::string& tires) {car.tires = tires;return *this;}CarBuilder& setInterior(const std::string& interior) {car.interior = interior;return *this;}Car build() {return car;}
};int main() {CarBuilder builder;Car car = builder.setColor("Red").setEngine("V8").setTires("Sport").setInterior("Leather").build();car.show();return 0;
}

构建一台计算机

假设我们有一个`Computer`类,它有很多可选属性,例如CPU类型、RAM大小、存储类型和大小等等。

#include <iostream>
#include <string>class Computer {
public:std::string cpu;int ram;std::string storageType;int storageSize;void show() {std::cout << "Computer Details:\n"<< "CPU: " << cpu << "\n"<< "RAM: " << ram << " GB\n"<< "Storage Type: " << storageType << "\n"<< "Storage Size: " << storageSize << " GB\n";}
};class ComputerBuilder {
private:Computer computer;
public:ComputerBuilder& setCPU(const std::string& cpu) {computer.cpu = cpu;return *this;}ComputerBuilder& setRAM(int ram) {computer.ram = ram;return *this;}ComputerBuilder& setStorageType(const std::string& storageType) {computer.storageType = storageType;return *this;}ComputerBuilder& setStorageSize(int storageSize) {computer.storageSize = storageSize;return *this;}Computer build() {return computer;}
};int main() {ComputerBuilder builder;Computer computer = builder.setCPU("Intel i9").setRAM(32).setStorageType("SSD").setStorageSize(1024).build();computer.show();return 0;
}

构建一个房子

假设我们有一个`House`类,它有很多可选属性,例如房间数量、楼层数量、花园是否存在、是否有车库等等。

#include <iostream>
#include <string>class House {
public:int rooms;int floors;bool garden;bool garage;void show() {std::cout << "House Details:\n"<< "Rooms: " << rooms << "\n"<< "Floors: " << floors << "\n"<< "Garden: " << (garden ? "Yes" : "No") << "\n"<< "Garage: " << (garage ? "Yes" : "No") << "\n";}
};class HouseBuilder {
private:House house;
public:HouseBuilder& setRooms(int rooms) {house.rooms = rooms;return *this;}HouseBuilder& setFloors(int floors) {house.floors = floors;return *this;}HouseBuilder& setGarden(bool garden) {house.garden = garden;return *this;}HouseBuilder& setGarage(bool garage) {house.garage = garage;return *this;}House build() {return house;}
};int main() {HouseBuilder builder;House house = builder.setRooms(5).setFloors(2).setGarden(true).setGarage(true).build();house.show();return 0;
}

总结

每个生成器类负责设置对象的各个属性,并在最终构建出对象。

http://www.yayakq.cn/news/388584/

相关文章:

  • 汽修网站建设免费假怀孕单子在线制作图片
  • 17zwd一起做网站项目建设方案
  • 南通网站建设排名公司哪家好网站seo外包
  • 30天网站建设实录素材微网站访问量
  • 企业网站建设方案书网络营销课程收获
  • 北京社招网站自己的网站没有域名
  • 大连百姓网免费发布信息网站本土建站工作室
  • 服装网站建设规定wordpress 页面平铺
  • 建站公司外贸涿州二康
  • 佛山伦教网站设计上海建章汽车服务有限公司
  • 专业做网站+上海网站分析 实例
  • 泰兴网站设计discuz应用中心退款
  • 贵阳手机网站建设费用郑州seo顾问热狗网
  • 3d模型免费素材网站做外汇看哪些网站数据
  • 做网站 套用模板之后用什么改dm建站系统
  • 万户网站制作电影网站建设模板
  • 信誉比较好的网上做任务的网站编辑网站绑定
  • 装饰网站建设多少钱商城定制开发
  • 省交通建设质安监督局网站网站建设公司官方网站
  • 易签到网站开发设计学做招投标的网站有哪些
  • 简述网站开发的几个步骤南宁网络推广外包
  • 免费网站安全软件大全免费下载安装上海建设工程 U盘登录哪个网站
  • 河南住房和城乡建设部网站注册个人公司流程及费用
  • 做网站优化的教程模拟电脑游戏的app
  • 省博物馆网站建设网站建设公司财务预算
  • 网站主体负责人必须是法人吗wordpress 发布文章主动推送百度
  • 网站平台建设的实训报告南宁企业官网seo
  • 建立一个网站大约要多少钱厂房网络推广平台
  • 成都网站建设福州赣州网站建设资讯
  • 如何获取网站根目录镜像网站如何做排名