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

自适应网站怎样做移动适配网站设计制作视频

自适应网站怎样做移动适配,网站设计制作视频,李字logo创意设计,广东营销网站建设服务设计模式学习#xff08;二#xff09;工厂模式——工厂方法模式 前言工厂方法模式简介示例优点缺点使用场景 前言 前一篇文章介绍了简单工厂模式#xff0c;提到了简单工厂模式的缺点#xff08;违反开闭原则#xff0c;扩展困难#xff09;#xff0c;本文要介绍的工… 设计模式学习二工厂模式——工厂方法模式 前言工厂方法模式简介示例优点缺点使用场景 前言 前一篇文章介绍了简单工厂模式提到了简单工厂模式的缺点违反开闭原则扩展困难本文要介绍的工厂方法模式在一定程度上弥补了简单工厂模式的缺点。 工厂方法模式 简介 工厂方法模式是创建型设计模式之一它在抽象工厂类中声明创建对象的接口在具体工厂类中实现具体的实例化过程。这个模式的核心思想是将对象的实例化延迟到子类中进行从而使得父类通过其子类来指定创建哪个对象实现了类的实例化操作的封装和数据的封装。 这样的话当要添加一个具体产品时我们不会修改原有的工厂类不违反开闭原则而是新创建一个关联于具体产品的具体工厂类易扩展。 示例 抽象相机类CameraDevice 具体相机类BaslerCameraDeviceSickCameraDeviceHuarayCameraDevice 抽象工厂类CameraDeviceFactory 具体工厂类BaslerCameraFactorySickCameraFactoryHuarayCameraFactory UML类图如下 代码如下 // 抽象产品类 class CameraDevice { public:CameraDevice() default;virtual ~CameraDevice() 0;virtual bool Init(){};virtual bool OpenDevice() 0; };class BaslerCameraDevice : public CameraDevice { public:~BaslerCameraDevice() override;bool Init() override{};bool OpenDevice() override{}; };class HuarayCameraDevice : public CameraDevice { public:~HuarayCameraDevice() override{};bool Init() override{};bool OpenDevice() override{}; };class SickCameraDevice : public CameraDevice { public:~SickCameraDevice() override{};bool Init() override{};bool OpenDevice() override{}; };// 抽象工厂类 class CameraDeviceFactory { public:virtual std::shared_ptrCameraDevice CreateCamera() 0; };// 具体工厂类 class BaslerCameraFactory : public CameraDeviceFactory { public:std::shared_ptrCameraDevice CreateCamera() override {return std::make_sharedBaslerCameraDevice();} };class HuarayCameraFactory : public CameraDeviceFactory { public:std::shared_ptrCameraDevice CreateCamera() override {return std::make_sharedHuarayCameraDevice();} };class SickCameraFactory : public CameraDeviceFactory { public:std::shared_ptrCameraDevice CreateCamera() override {return std::make_sharedSickCameraDevice();} };int main() {std::shared_ptrCameraDeviceFactory factory std::make_sharedBaslerCameraFactory();std::shared_ptrCameraDevice camera factory-CreateCamera();camera-Init();camera-OpenDevice();return 0; }优点 解耦工厂方法模式可以减少客户代码与具体类之间的耦合。客户端在使用的时候只需知道接口而不是具体类。这样可以更容易地扩展或修改创建逻辑而无需修改现有客户代码。符合开闭原则工厂方法模式允许系统在不修改现有代码的情况下引入新的类型。满足对扩展开放对修改封闭的原则。单一职责原则工厂方法模式中创建对象的逻辑被封装在一个工厂类中这符合单一职责原则。这让代码更加清晰维护也更简单。 缺点 代码复杂工厂方法模式为每种产品类型提供一个单独的工厂类。这意味着每增加一个新的产品类别就需要增加一个新的具体工厂类。这会导致类的数量迅速增加从而增加了代码的复杂性代码冗余如果具体工厂类之间的创建逻辑相似这可能会导致代码冗余。虽然每个工厂类只负责创建一个具体产品但这些工厂类的创建逻辑可能高度相似不能有效地重用代码。 使用场景 产品类别经常变化一个系统会频繁添加或修改产品的创建而每种产品的创建又有不同的复杂配置和依赖时工厂方法可以将具体产品的创建逻辑封装在各自的工厂类中从而简化客户端代码。
http://www.hkea.cn/news/14584489/

相关文章:

  • 怎么添加网站备案号陆丰网站
  • 深圳网站设计专家乐云seo品牌深圳服装设计公司排名前十强
  • 大足集团网站建设网站建设安全标准
  • 杭州百度整站优化服务wordpress自动发货
  • 网站建设套餐报体育健身网站建设
  • 做网站赚50万佛山网站建设锐艺a068
  • 上海最好网站建设公司锦州做网站哪家好
  • 湟源县公司网站建设常德网站建设网站优化
  • WordPress仿站助手有哪些网站设计比较好的公司
  • 部队网站设计网站平台搭建
  • 哈尔滨百度网站建设网站建设企业站
  • 洛阳西工区做网站哪家好百度贴吧网页版
  • 朝天门户网seo排名优化方法
  • 做的比较好的车载嗨曲网站连云港建设厅官方网站
  • 自动化科技产品网站建设郑州旅游网站建设
  • 芜湖酒店网站建设策划案格式模板和范文
  • 迈网科技 官方网站稻香村网站建设
  • 做视频网站教程国外产品推广平台
  • 打赏网站开发甘肃省和城乡建设厅网站
  • 友汇网网站建设管理后台网站网站建设简介联系方式
  • 济南网站建设选搜点网络网站开发网站模板设计
  • 百度免费网站申请wordpress 提示插件安装插件
  • 营销网站外包做服饰的有哪些网站
  • 网站建设 数据库连接源码做微信电影网站
  • 发布课程的网站模板wordpress联系表单的制作
  • 如何做网络推广网站做网站的图片Pc端和手机端的区别
  • 缙云做网站wordpress北欧控
  • 如何制作免费的公司网站网站关闭公告代码
  • 网站如何发布和推广百度seo一本通
  • 电商网站 解决方案网上免费发广告怎么发