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

地方网站的建设/搜索率最高的关键词

地方网站的建设,搜索率最高的关键词,网站建设书本,wordpress 弹出模式定义 工厂方法模式(Factory Method Pattern)是一种创建型设计模式,定义用于创建对象的接口,让子类决定实例化哪个类,从而将对象创建过程延迟到子类。其核心目的是解耦对象的创建与使用,增强系统的扩展…

模式定义

工厂方法模式(Factory Method Pattern)是一种创建型设计模式,定义用于创建对象的接口,让子类决定实例化哪个类,从而将对象创建过程延迟到子类。其核心目的是解耦对象的创建与使用,增强系统的扩展性,符合开闭原则。


模式结构

抽象产品(Product):定义对象的接口(如数控系统中的运动控制器)。
具体产品(Concrete Product):实现抽象产品的具体类(如直线运动、圆弧运动控制器)。
抽象工厂(Creator):声明工厂方法,返回抽象产品类型。
具体工厂(Concrete Creator):重写工厂方法,返回具体产品实例。


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

#include // 抽象产品:运动控制器接口
class MotionController {
public:virtual void execute() = 0;virtual ~MotionController() = default;
};// 具体产品1:直线运动控制器
class LinearMotion : public MotionController {
public:void execute() override {std::cout << "执行直线插补运动" << std::endl;}
};// 具体产品2:圆弧运动控制器
class ArcMotion : public MotionController {
public:void execute() override {std::cout << "执行圆弧插补运动" << std::endl;}
};// 抽象工厂
class MotionFactory {
public:virtual MotionController* createMotion() = 0;virtual ~MotionFactory() = default;
};// 具体工厂1:创建直线运动控制器
class LinearMotionFactory : public MotionFactory {
public:MotionController* createMotion() override {return new LinearMotion();}
};// 具体工厂2:创建圆弧运动控制器
class ArcMotionFactory : public MotionFactory {
public:MotionController* createMotion() override {return new ArcMotion();}
};// 客户端代码
int main() {// 使用直线运动工厂MotionFactory* linearFactory = new LinearMotionFactory();MotionController* linear = linearFactory->createMotion();linear->execute();  // 输出:执行直线插补运动// 使用圆弧运动工厂MotionFactory* arcFactory = new ArcMotionFactory();MotionController* arc = arcFactory->createMotion();arc->execute();     // 输出:执行圆弧插补运动delete linearFactory;delete linear;delete arcFactory;delete arc;return 0;
}

模式优势

解耦性:客户端仅依赖抽象接口,无需关心具体实现类。
扩展性:新增运动类型时(如螺旋运动),只需添加对应的具体产品和工厂类,无需修改已有代码,符合开闭原则。
职责清晰:将对象创建逻辑集中到工厂类,避免代码重复。


适用场景

系统需要支持多种类型的对象创建(如数控系统的不同运动模式)。
创建过程需要动态扩展(如未来新增五轴联动控制)。


对比简单工厂模式

工厂方法模式通过多态性将对象创建延迟到子类,避免了简单工厂模式中因新增类型需修改工厂类的缺点。


http://www.whsansanxincailiao.cn/news/30726570.html

相关文章:

  • 网站建设中网站需求分析的理解/百度的总部在哪里
  • wordpress数据交互/seo优化师是什么
  • 网站开发要花费多少钱/交换免费连接
  • 杭州网站设计公司推荐/苏州seo
  • 国内比较好用的建筑案例网站/长春网长春关键词排名站设计
  • 购卡链接网站怎么做/免费发帖推广网站
  • 网站认证金额怎么做分录/百度视频seo
  • 做的网站百度找不到/采集站seo赚钱辅导班
  • 外贸网站建设 如何做/湖北seo关键词排名优化软件
  • 青岛建设银行银行招聘网站/100大看免费行情的软件
  • 建企业网站的步骤/郑州seo优化
  • 招聘网站咋做/新网域名注册
  • 乐山市规划和建设局网站/如何做网页链接
  • 视频解析网站怎么做的/如何做网络营销
  • 体育健身网站建设/大数据精准营销
  • 网站推广软件有哪些/seo怎么优化软件
  • 如何不备案建网站/seo软件开发
  • 移动互联网站开发/网页广告怎么做
  • php 做网站 python/网络推广费计入什么科目
  • 百度商桥网站代码去哪里添加/百度账户安全中心
  • 给网站整一个客服 怎么做/关键词seo公司真实推荐
  • 会网站开发维护的ps什么岗位/下载百度地图2022最新版官方
  • 做百度个人网站/郑州短视频代运营
  • 汉阳网站建设哪家便宜/seo研究中心晴天
  • linux 做网站/最新百度关键词排名
  • 做网站优化的价格/营销管理培训课程培训班
  • 帮公司做网站/网页开发流程
  • 做娱乐网站/推广普通话的宣传语
  • 烹饪考试试卷哪个网站可以做/html家乡网站设计
  • 阿里巴巴做网站教程/微信营销推广