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

数码电子产品网站建设策划书网站建设推广价格

数码电子产品网站建设策划书,网站建设推广价格,工程建设是什么工作,太仓市住房和城乡建设局规网站概念设计模式(Design Pattern)是针对软件设计中重复出现的问题,总结出的一套经过验证的解决方案,它描述了在特定场景下如何组织代码结构、类与对象的关系,帮助开发者编写更高效、可维护、可扩展的代码。分类《设计模式…

概念

       设计模式(Design Pattern)是针对软件设计中重复出现的问题,总结出的一套经过验证的解决方案,

       它描述了在特定场景下如何组织代码结构、类与对象的关系,帮助开发者编写更高效、可维护、可扩展的代码。

分类

《设计模式:可复用面向对象软件的基础》根据用途,把设计模式分为三大类,共23种经典模式

(1)创建型模式(5 种)

解决 “对象创建” 的问题,隐藏创建细节,使代码更灵活。

       单例模式:保证一个类只有一个实例(如全局配置对象)。

       工厂模式:通过工厂类统一创建对象,屏蔽具体实现(如不同数据库连接的创建)。

       抽象工厂模式:创建一系列相关或依赖的对象(如一套 UI 组件的不同主题实现)。

       建造者模式:分步构建复杂对象(如自定义电脑配置:CPU、内存、硬盘分步组装)。

       原型模式:通过复制现有对象创建新对象(如大对象的快速克隆)。

(2)结构型模式(7 种)

解决 “类或对象的组合” 问题,优化代码结构。

       适配器模式:使不兼容的接口可以一起工作(如旧系统接口适配新框架)。

       装饰器模式:动态给对象添加功能(如给文本编辑器增加 “加粗”“斜体” 功能)。

       代理模式:为对象提供代理(如远程代理、权限代理)。

       外观模式:为复杂系统提供简单接口(如智能家居的 “一键场景” 封装多个设备操作)。

       桥接模式:分离抽象与实现,使二者可独立变化(如跨平台 UI 框架:抽象 “按钮”,实现 “Windows 按钮”“Linux 按钮”)。

       组合模式:将对象组合成树形结构,统一处理单个对象和组合对象(如文件系统的 “文件” 和 “文件夹”)。

       享元模式:复用大量相似对象,节省资源(如游戏中重复出现的道具、粒子效果)。

(3)行为型模式(11 种)

解决 “对象之间的交互与职责分配” 问题,优化协作逻辑。

       策略模式:定义算法家族,动态切换(如电商的多种折扣计算方式)。

       模板方法模式:定义流程骨架,子类实现具体步骤(如做饭:固定 “备料→烹饪→装盘”,子类实现 “做川菜”“做粤菜”)。

       观察者模式:对象状态变化时,自动通知依赖它的对象(如公众号推送、事件监听)。

       迭代器模式:提供遍历集合的统一接口(如 Python 的for循环遍历列表、字典)。

       责任链模式:将请求传递给多个处理器,直到被处理(如审批流程:员工→经理→总监)。

       命令模式:将操作封装为对象,支持撤销、排队(如遥控器按钮控制家电)。

       备忘录模式:保存对象状态,以便恢复(如游戏存档、文档撤销功能)。

       状态模式:对象状态变化时,行为随之改变(如订单状态:待支付→已支付→已发货)。

       访问者模式:在不修改类的前提下,增加对类的新操作(如报表生成工具访问不同数据对象)。

       中介者模式:用中介者减少对象间的直接耦合(如聊天室的服务器转发消息)。

       解释器模式:定义语言语法的解释器(如正则表达式解析器、公式计算器)。

单例:

一个类只有一个实例,全局访问,节省内存

一般对象创建

class tools:msg="I am OK"def shout():print(msg)# 调用创建两个对象,需要消耗两块内存空间
obj_1 = tools()
obj_1.shout()obj_2 = tools()
obj_2.shout()

单例对象创建

class tools:msg="I am OK"def shout():print(msg)# 调用创建1个对象,需要消耗1块内存空间
tool=tools()obj_1 = tool
obj_1.shout()obj_2 = tool
obj_2.shout()

工厂:

不直接使用类创建对象,通过创建一个工厂函数调用类创建对象,统一创建对象入口,方便修改维护

class 类1:pass
class 类2:pass
class 类3:passdef 工厂函数名(目标类名):if 类1==目标类名:return 类1()elif 类2==目标类名:return 类2()else:return 类3()# 调用
工厂函数名(类1)

http://www.dtcms.com/a/521246.html

相关文章:

  • 高端网站设计价格成品网站和模板建站
  • vTaskDelete 的作用
  • 【笔记】ComfyUI KeyError: ‘tensorrt‘ 错误的完整解决方案
  • 网站下载软件wordpress修改上传文件路径
  • 加盟招商网站建设方案木卢seo教程
  • 【javaFX基础】实现图形能够根据窗口大小自动调整位置
  • 针对餐饮公司推广做网站方法河间网站
  • 接口和继承类的对比
  • 瑞安自适应网站建设建设一个公司的网站需要多少钱
  • 婚庆网站哪个网站好手机网站的好处
  • RCLAMP2402B.TCT ESD保护二极管/TVS二极管 Semtech升特 电路保护方案解析
  • 广东网站优化公司上海seo优化服务公司
  • 索引失效的问题如何排查?
  • 小九源码-springboot099-基于Springboot的本科实践教学管理系统
  • 单位网站设计建议书世界500强企业排行榜
  • 深圳制作网站多少费用电子商务有哪些职业
  • 【Spring Security】授权(二)
  • 塘沽网站开发企业站网页制作实训步骤
  • jsp电影网站开发教程单位外部网站建设价格
  • 哈尔滨住房和城乡建设厅网站做网站原型现成的框架
  • 做网站实现发送信息功能号卡分销系统源码
  • 用Python Streamlit Sqlite3 写一个简单商品管理系统
  • LazyLLM 创新实践:LLM 与工具协同,构建智能客服问答与知识库检索助手
  • 网站主体负责人邮箱wordpress国外空间
  • 网站建设公制度网页设计与制作实训报告两千字
  • 算力赋能,智见未来 | 国鑫亮相ICG-20,共赴组学与AI新纪元
  • 阿里巴巴网站的功能win 无法卸载 wordpress
  • 慧园区:科技赋能下的城市空间新范式
  • 网站建设费一般是什么费用网页设计的背景代码大全
  • 现在网站开发语言有各大网站搜索引擎提交入口