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

广州行业门户网站建设知名网站建设代理

广州行业门户网站建设,知名网站建设代理,深圳市住房和建设网,关键词优化seo公司此去经年,再难同游 —— 24.11.11 一、什么是设计模式 设计模式是一种编程套路,可以极大的方便程序的开发最常见、最经典的设计模式,就是我们所学习的面向对象了。 除了面向对象外,在编程中也有很多既定的套路可以方便开发,我们称之为设计模…

此去经年,再难同游

                        —— 24.11.11

一、什么是设计模式

设计模式是一种编程套路,可以极大的方便程序的开发最常见、最经典的设计模式,就是我们所学习的面向对象了。

除了面向对象外,在编程中也有很多既定的套路可以方便开发,我们称之为设计模式:

单例、工厂模式

建造者、责任链、状态、备忘录、解释器、访问者、观察者、中介、模板、代理模式

等等


二、单例模式

引出

创建类的实例后,就可以得到一个完整的、独立的类对象。

用同一个类创建多个类对象,类对象的内存地址是不相同的,即创建出的对象是完全独立的。


为何要使用单例模式

某些场景下,我们需要一个类无论获取多少次类对象,都仅仅提供一个具体的实例用以节省创建类对象的开销和内存开销

比如某些工具类,仅需要1个实例,即可在各处使用

这就是单例模式所要实现的效果


什么是单例模式

单例模式(Singleton Patter)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。

定义:保证一个类只有一个实例,并提供一个访问它的全局访问点

适用场景:当一个类只能有一个实例,而客户可以从一个众所周知的访问点访问它时。


代码

非单例模式

# 演示单例模式的效果class StrTools:passs1 = StrTools()
s2 = StrTools()
print(s1)
print(s2)# id函数展示变量具体的id
print(id(s1))
print(id(s2))

从地址和id值都不同,可以看出,虽然是同一个类创建出的两个对象,但是对内存资源造成了浪费


单例模式

StrTools类

首先定义一个类StrTools,以后创建对象从这个类中直接获取对象,全局只提供唯一一个实例用来创建对象,避免了重复构造大量对象导致的内存的浪费,节省内存开销和创建对象的开销

class StrTools:passstr_tool = StrTools()

test1

from str_tools_py import str_tools1 = str_tool
s2 = str_toolprint(s1)
print(s2)# id函数展示变量具体的id
print(id(s1))
print(id(s2))

test2

from str_tools_py import str_tools1 = str_tool
s2 = str_toolprint(s1)
print(s2)# id函数展示变量具体的id
print(id(s1))
print(id(s2))

可以看出,单例模式创建对象只需要用到同一个类进行创建,节省了内存开支

全局只提供唯一一个实例用来创建对象,避免了重复构造大量对象导致的内存的浪费,节省内存开销

http://www.yayakq.cn/news/479472/

相关文章:

  • python一句做网站wordpress 使用ip访问不了
  • 网站导航自适应wordpress 仿站 菜单
  • 降龙网络专业做网站国家城乡和建设厅特殊工种网站
  • 网站升级建设中wordpress运维托管
  • 网站空间怎么备份wordpress主题加速插件
  • 建站网站多少钱装饰网站的业务员都是怎么做的
  • 进入网站后台ftp空间后怎样上传重庆网站建设在哪里
  • 域名只做邮箱没网站要备案吗深圳国外网站建设
  • 怎么查看自己网站是否被收录附近的教育培训机构有哪些
  • 移动应用还是网站开发做外贸必须有网站吗
  • 广西建设局网站数据库与网站
  • 山东省建设工程管理局网站南通哪里学网站建设
  • 阿里云clouder网站建设做汽配的外贸网站
  • 网站全局变量网站开发 简单
  • php+mysql 网站建设凡科建站视频教程
  • 宁波高质量品牌网站设计厂家html网页制作练习
  • 酷黑网站怎么在微信上做网站
  • 资源网站网络规划设计师视频
  • 网站开发中的网页上传和网站发布库存管理软件哪个好
  • 无锡网站建设818gxphp站点搭建
  • 浙江融兴建设有限公司网站怎样辨别网站
  • 游戏网站建设策划方案模板服务器维护中
  • 网站建设平台皆往乐云践新专家wordpress vip解析插件
  • 杭州响应式网站案例seo对网店的作用有哪些
  • 接做效果图网站娄底网站建设是什么
  • .net程序员网站开发工程师西安网站建设设计公司
  • 网站建设实训总结300网站收费板块怎么做
  • 网页制作与网站建设试题和答案建站之星模板制作
  • 怎么查网站的空间商电影院网站建设方案
  • 温州市建设监理协会网站海外网站测速