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

做微官网什么网站好一个工厂的网站建设

做微官网什么网站好,一个工厂的网站建设,seo网络推广什么意思,wordpress手机qq登录地址定义 工厂方法模式是一种创建型设计模式#xff0c;它定义一个创建对象的接口#xff0c;让其子类来处理对象的创建#xff0c;而不是直接实例化对象。 结构 抽象工厂#xff08;Factory#xff09;#xff1a;声明工厂方法#xff0c;返回一个产品对象。具体工厂类都…定义 工厂方法模式是一种创建型设计模式它定义一个创建对象的接口让其子类来处理对象的创建而不是直接实例化对象。 结构 抽象工厂Factory声明工厂方法返回一个产品对象。具体工厂类都必须实现该方法。 具体工厂Concrete Factory实现工厂方法以创建具体的产品对象。 抽象产品Product定义产品对象的接口。 具体产品Concrete Product实现产品接口的具体产品对象。 应用场景 产品类型繁多且结构相似当产品类型较多且具有相似的结构时可以使用工厂方法模式来管理创建逻辑。抽象工厂类定义抽象方法具体工厂类实现抽象方法创建具体的产品对象从而简化客户端代码。例如不同类型的日志记录器、不同类型的报表生成器等。处理复杂创建过程当对象的创建过程比较复杂需要很多步骤或依赖其他对象。工厂方法模式可以将这些复杂的创建过程封装在工厂方法中从而简化客户端代码并确保对象创建的一致性。例如不同类型的数据库连接、复杂的对象初始化流程等。系统需要良好的扩展性当系统需要能够方便地引入新的产品对象时可以使用工厂方法模式。通过新增具体工厂类并实现工厂方法可以在不修改现有代码的情况下扩展系统的功能。 优缺点 优点 简化客户端代码客户端代码不需要了解具体产品类的创建细节只需调用工厂类的创建方法即可获得所需的对象。这减少了客户端代码的复杂性使其更容易维护和理解。提高代码的可维护性工厂方法模式将复杂的对象创建过程封装在工厂方法中客户端代码不需要关心对象的创建细节从而简化了代码的维护。符合开闭原则工厂方法模式符合面向对象设计中的开闭原则即对扩展开放对修改关闭。新增产品类时无需修改现有的工厂类只要新增具体工厂类即可。 缺点 增加代码复杂性工厂方法模式引入了额外的类和接口这可能会增加代码的复杂性也会增加运行时资源的开销尤其是在产品类和工厂类数量较多的情况下。 代码示例 from abc import ABC, abstractmethod# 抽象产品类 class Vehicle(ABC):abstractmethoddef drive(self) - str:pass# 具体产品类 - 汽车 class Car(Vehicle):def drive(self) - str:return Driving a car# 具体产品类 - 自行车 class Bicycle(Vehicle):def drive(self) - str:return Riding a bicycle# 抽象工厂类 class VehicleFactory(ABC):abstractmethoddef create_vehicle(self) - Vehicle:pass# 具体工厂类 - 汽车工厂 class CarFactory(VehicleFactory):def create_vehicle(self) - Vehicle:return Car()# 具体工厂类 - 自行车工厂 class BicycleFactory(VehicleFactory):def create_vehicle(self) - Vehicle:return Bicycle()# 客户端代码 def client_code(factory: VehicleFactory) - None:vehicle factory.create_vehicle()print(fClient: {vehicle.drive()})if __name__ __main__:print(App: Using the CarFactory.)client_code(CarFactory())print(\n)print(App: Using the BicycleFactory.)client_code(BicycleFactory())工厂方法模式和简单工厂模式的比较 工厂方法模式是简单工厂模式的延伸它继承了简单工厂模式的优点同时也弥补了简单工厂模式的不足。它针对不同的产品提供不同的工厂可以很好地解决简单工厂模式的以下两个问题 违反开闭原则每当需要添加新的产品类型时都必须修改工厂类以添加新的创建逻辑违反了开闭原则。可能包含大量的条件判断工厂类中的条件判断语句会随着产品种类的增加而变得冗长且复杂。 工厂方法模式和简单工厂模式适用于不同的场景 简单工厂模式的灵活性和扩展性较低适用于产品种类相对固定且变化不频繁的场景。工厂方法模式适用于产品种类较多且经常变化的场景尤其需要在不修改现有代码的情况下添加新产品时。简单工厂模式的实现和使用都较简单适合小型系统或简单场景。工厂方法模式的实现和使用都较复杂适合大型系统或复杂场景。 参考 《设计模式的艺术》
http://www.w-s-a.com/news/506529/

相关文章:

  • 秦皇岛做网站公司小说推广平台有哪些
  • php网站做分享到朋友圈天元建设集团有限公司信用代码
  • 邱县做网站在线免费图片编辑器
  • 网站备份网站做网站如何把支付宝微信吧
  • 做网站的怎么获取客户信息晋城建设局网站
  • 新开传奇网站发布网单职业wordpress建站网页无法运作
  • 海南省住房和城乡建设厅官方网站网站开发有哪些语言
  • 网站开发排期表免费网站建设策划
  • 飞沐网站设计江苏建设人才网证书查询
  • 网站优化的意义怎么帮商家推广赚钱
  • 安顺公司做网站福州建设发展集团有限公司网站
  • 普陀企业网站建设做散客机票的网站如何推广
  • 河北网站建设与制作建设宁波市分行的互联网网站
  • python做网站是不是特别慢百度推广基木鱼
  • 卖网站链接东营住房和城乡建设信息网
  • 网站后台如何上传ico图标单位建设网站需要的材料
  • 如何建淘客网站郑州做网站最好的公司
  • 连锁酒店网站方案o2o网站建设方案
  • 功能型网站响应式网站原理
  • 聊城建设网站骨干校 建设网站
  • 网站建设与管理是干嘛的中国新闻社是什么单位
  • 帮别人做视频剪辑的网站传业做微采商城网站
  • 设计一个网站开发方案宣传片制作企业
  • 新网站收录多少关键词免费一键网站
  • 网页制作与网站建设 在线作业手表网站制作照片
  • 电商网站开发技术与维护重庆建筑工程交易信息网
  • 人和马做的网站线上营销推广方式
  • 青海教育厅门户网站有赞商城
  • 网站建设多语种自动翻译插件wordpress谷歌翻译插件
  • 泰安高级网站建设推广wordpress教程 好看