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

精品课程网站建设 公司行业网站开发方案

精品课程网站建设 公司,行业网站开发方案,wordpress wp user frontend,用asp做网站怎么布局模式定义 建造者模式(Builder Pattern)是一种创建型设计模式,它将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。其核心思想是分步骤构建复杂对象,并通过统一的接口控制构建流程&#xff0c…

模式定义

建造者模式(Builder Pattern)是一种创建型设计模式,它将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。其核心思想是分步骤构建复杂对象,并通过统一的接口控制构建流程,适用于需要灵活组合复杂组件且构建顺序稳定的场景(如数控系统的多模块配置)。


模式结构

产品(Product):最终要构建的复杂对象(如数控系统),包含多个组件(控制器、传感器等)。
抽象建造者(Builder):定义构建产品各个部件的接口(如buildController()buildSensor())。
具体建造者(Concrete Builder):实现抽象建造者接口,提供具体组件的实现(如西门子、发那科数控系统建造器)。
指挥者(Director):控制构建流程,按顺序调用建造者的方法生成完整产品。


C++示例(数控系统场景)

#include 
#include // 产品类:数控系统
class CNCSystem {
public:void setController(const std::string& controller) {controller_ = controller;}void setSensor(const std::string& sensor) {sensor_ = sensor;}void setDriver(const std::string& driver) {driver_ = driver;}void showConfig() {std::cout << "数控系统配置:\n"<< "- 控制器: " << controller_ << "\n"<< "- 传感器: " << sensor_ << "\n"<< "- 驱动模块: " << driver_ << "\n";}
private:std::string controller_;std::string sensor_;std::string driver_;
};// 抽象建造者
class CNCBuilder {
public:virtual ~CNCBuilder() = default;virtual void buildController() = 0;virtual void buildSensor() = 0;virtual void buildDriver() = 0;virtual CNCSystem getResult() = 0;
};// 具体建造者:西门子系统
class SiemensBuilder : public CNCBuilder {
public:SiemensBuilder() { system_ = CNCSystem(); }void buildController() override {system_.setController("西门子840D控制器");}void buildSensor() override {system_.setSensor("西门子高精度编码器");}void buildDriver() override {system_.setDriver("西门子伺服驱动模块");}CNCSystem getResult() override { return system_; }
private:CNCSystem system_;
};// 具体建造者:发那科系统
class FanucBuilder : public CNCBuilder {
public:FanucBuilder() { system_ = CNCSystem(); }void buildController() override {system_.setController("发那科30i控制器");}void buildSensor() override {system_.setSensor("发那科激光位移传感器");}void buildDriver() override {system_.setDriver("发那科α系列驱动模块");}CNCSystem getResult() override { return system_; }
private:CNCSystem system_;
};// 指挥者:控制构建流程
class Director {
public:void construct(CNCBuilder& builder) {builder.buildController();builder.buildSensor();builder.buildDriver();}
};// 客户端使用
int main() {Director director;SiemensBuilder siemensBuilder;director.construct(siemensBuilder);CNCSystem siemens = siemensBuilder.getResult();siemens.showConfig();FanucBuilder fanucBuilder;director.construct(fanucBuilder);CNCSystem fanuc = fanucBuilder.getResult();fanuc.showConfig();return 0;
}

输出结果

数控系统配置:
控制器: 西门子840D控制器
传感器: 西门子高精度编码器
驱动模块: 西门子伺服驱动模块数控系统配置:
控制器: 发那科30i控制器
传感器: 发那科激光位移传感器
驱动模块: 发那科α系列驱动模块

模式优点

构建与表示分离:客户端无需了解内部组件细节,只需指定建造者类型。
灵活扩展:新增具体建造者即可支持新品牌数控系统(如三菱),无需修改指挥者逻辑。
流程控制:通过指挥者统一管理构建顺序,确保组件装配的稳定性。


应用场景

需要生成的对象具有复杂内部结构(如数控系统的多模块依赖)。
对象的构建过程需要独立于其组成部分(如不同品牌的组件混用)。

通过建造者模式,数控系统的构建过程被标准化,同时支持灵活扩展不同厂商的硬件配置。

http://www.dtcms.com/a/421889.html

相关文章:

  • 公司网站设计哪家公司好郑州专门做喷绘安装的网站
  • pc建站家电网站设计方案
  • 在线图片处理网站国家反诈中心app下载安卓版
  • 例点估算网站开发项目工作量万能素材网站下载
  • 网站如何跳转网站的关键词推扩是怎样做
  • 新手如何做网站维护做挂广告网站
  • 济南网站建设方案书范文金融行业高端网站制作
  • 南城网站建设公司策划平台网站建设源码
  • 网站建设收费标准不一烟台专业的网站建站公司
  • wordpress h1做搜狗pc网站优化排
  • dw班级网站建设网站的分析
  • 嘉兴专业网站建设网站建设平台方案
  • 怎样做好网站建设制作书签作文
  • 哪个网站可以看一级a做爰片t沃尔玛网上超市
  • 无锡网站网站建设门户网站有哪些类型
  • 网站建设难做吗可以做热图的在线网站
  • 佛山做网站优化公司襄阳机械加工网
  • 做瞹瞹嗳免费网站在线观看网站文字特效
  • 人和动物做的电影网站南通市住房城乡建设局网站
  • 网站设计基本要求上海公布最新情况
  • 仪征网站建设公司宿迁百度seo
  • 广州网站车管所辽宁专业网页设计免费建站
  • 网站浮动代码南宁 建网站 公司
  • 赣州行业网站建设5566网址大全设首页
  • 无锡网站建设外贸徐州哪有做网站的
  • 南昌网站设计跨境网站
  • 做网站需要的公司php网站微信支付怎么做
  • 做网站设计是什么专业Wordpress哪个模板最快
  • wordpress 字符集 404漳州seo网站快速排名
  • 厦门网站开发公司怎么设置网站的关键字