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

湖州网站推广监理工程师

湖州网站推广,监理工程师,秦皇岛酒店网站设计,网站的作用和意义一、设计模式_工厂模式实现 设计模式是面向对象语言特有的内容#xff0c;是我们在面临某一类问题时候固定的做法#xff0c;设计模式有很多种#xff0c;比较流行的是#xff1a;GOF#xff08;Goup Of Four#xff09;23种设计模式。当然#xff0c;我们没有必要全部学…一、设计模式_工厂模式实现 设计模式是面向对象语言特有的内容是我们在面临某一类问题时候固定的做法设计模式有很多种比较流行的是GOFGoup Of Four23种设计模式。当然我们没有必要全部学习学习几个常用的即可。 对于初学者我们学习两个最常用的模式工厂模式和单例模式。 工厂模式实现了创建者和调用者的分离使用专门的工厂类将选择实现类、创建对象进行统一的管理和控制。 #工厂模式 ​ class CarFactory:def createCar(self,brand):if brand 奔驰:return Benz()elif brand 宝马:return BMW()elif brand 比亚迪:return BYD()else:return 未知品牌无法创建 ​ ​ class Benz:pass ​ ​ class BMW:pass ​ ​ class BYD:pass ​ factory CarFactory() c1 factory.createCar(奔驰) c2 factory.createCar(宝马) print(c1) print(c2)运行结果 __main__.Benz object at 0x021C5770 __main__.BMW object at 0x021C5790二、设计模式_单例模式实现 单例模式Singleton Pattern的核心作用是确保一个类只有一个实例并且提供一个访问该实例的全局访问点。 单例模式只生成一个实例对象减少了对系统资源的开销。当一个对象的产生需要比较多的资源如读取配置文件、产生其他依赖对象时可以产生一个“单例对象”然后永久驻留内存中从而极大的降低开销。 ⚠️单例模式有多种实现的方式我们这里推荐重写__new__()的方法。 #单例模式 ​ class MySingleton:__obj None__init_flag True ​def __new__(cls, *args, **kwargs):if cls.__obj None:cls.__obj object.__new__(cls) ​return cls.__obj ​def __init__(self,name):if MySingleton.__init_flag:print(init....)self.name nameMySingleton.__init_flag False ​ a MySingleton(aa) print(a) b MySingleton(bb) print(b)运算结果 init.... __main__.MySingleton object at 0x01E15610 __main__.MySingleton object at 0x01E15610三、工厂和单例模式结合 设计模式称之为“模式”就是一些固定的套路。我们很容易用到其他场景上比如前面讲的工厂模式我们需要将工厂类定义成“单例”只需要简单的套用即可实现 #测试工厂模式和单例模式的整合使用 class CarFactory:__obj None #类属性__init_flag True ​ ​def create_car(self,brand):if brand 奔驰:return Benz()elif brand 宝马:return BMW()elif brand 比亚迪:return BYD()else:return 未知品牌无法创建 ​ ​def __new__(cls, *args, **kwargs):if cls.__obj None:cls.__obj object.__new__(cls) ​return cls.__obj ​def __init__(self):if CarFactory.__init_flag:print(init CarFactory....)CarFactory.__init_flag False ​ class Benz:pass ​ class BMW:pass ​ class BYD:pass ​ factory CarFactory() c1 factory.create_car(奔驰) c2 factory.create_car(比亚迪) print(c1) print(c2) ​ factory2 CarFactory() print(factory) print(factory2)运算结果 init CarFactory.... __main__.Benz object at 0x01E36E90 __main__.BYD object at 0x01E36C30 __main__.CarFactory object at 0x01E36730 __main__.CarFactory object at 0x01E36730
http://www.hkea.cn/news/14276975/

相关文章:

  • 网站建设平ppt江苏建筑网站
  • 请人做外贸网站应注意什么李沧网站建设谁家好
  • 数码网站名浅析网站域名在搜索引擎排名中的作用
  • 域名与网站名称的关系网站开发组
  • 济南seo网站排名优化工具2015微信网站开发
  • 域名申请通过了网站怎么做wordpress点击量最多的文章
  • 英语网站排名鄞州区网站建设
  • 做运营需要知道素材网站郑州网站建设seo
  • 怎么开通个人网站广州好的网站设计公司
  • 石家庄建设局官方网站青海住房建设厅网站
  • 网站建设周期规划移动端下拉框价威cj111602推广
  • 上海工程建设安全协会网站学校建设网站报告书
  • 企业网站设计说明哪些网站是503错误代码
  • 网站链接数网站后台 生成所有页面
  • 布吉企业网站建设编程培训费用
  • 黑色风格网站主页面wordpress如何链接地址
  • 迈创网站建设wordpress多媒体路径
  • 怎么做会员自动售卡网站遵义门户网站
  • 重庆 手机网站制作南京需要做网站的公司
  • 网站视频怎么做的网线制作的步骤
  • 湖南省建设网站告诉你做网站需要多少钱
  • 奉化建设网站wordpress默认图像不显示
  • 赣州网站建设优化服务网站建设营销企业
  • 建站后角度是不是0视频网站开发分析
  • 个人做网站排版什么是网站栏目标题
  • 南京市公共资源建设中心网站电商设计图
  • 建一个网站买完域名后应该怎么做怎么做二维码微信扫后直到网站
  • 做热饮店网站阿里云个人怎么免费做网站
  • 大作业做网站英文seo外链发布工具
  • 创建游戏网站网页制作课程