位置: IT常识 - 正文

【GoF 23】23种设计模式与OOP七大原则概述

编辑:rootadmin
【GoF 23】23种设计模式与OOP七大原则概述 1. 什么是GoF 23?

推荐整理分享【GoF 23】23种设计模式与OOP七大原则概述,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

GoF 23也就是23种设计模式。1995年GoF(Gang of Four,四人组/四人帮)合作出版了《设计模式:可复用面向对象软件的基础》一书,一共收录了23种设计模式,从此梳理了软件设计模式领域的里程碑,人称[GoF设计模式]。

2. 什么是设计模式?

设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性、多态性以及类的关联关系和组合关系的充分理解。

【GoF 23】23种设计模式与OOP七大原则概述

是前辈们对代码开发经验的总结,是解决特定问题的一些列套路。它不是语法规定,而是一套用来提高代码可复用性、可读性、可维护性、稳健性以及安全性的解决方案。

正确使用设计模式具有以下优点:

可以提高程序员的思维能力、编程能力和设计能力。是程序设计更加标准化、代码编制更加工程化,是软件开发效率大大提高,从而缩短软件的开发周期。使设计的代码可复用性高、可读性强、可靠性高、灵活性好、可维护性强。3. 23种设计模式分类创建型模式:抽象了对象实例化的过程,用来帮助创建对象的实例

单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式。

结构型模式:描述如何组合类和对象,以获得更大的结构

适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。

行为模式:描述算法和对象间职责的分配

模板方法模式、命令模式、迭代器模式、观察者模式、中介模式、备忘录模式、解释器模式、状态模式、策略模式、职责模式、访问者模式。

4. 什么是OOP七大原则?

OOP即面向对象七大原则。

开闭原则: 对扩展开放,对修改关闭。也就是在扩展功能时,不能去修改原有的代码,而是在原有的代码基础上进行功能扩展。里氏替换原则: 继承必须确保超类所拥有的性质在子类中任然成立。尽量添加新的方法来实现新的功能,不要重写父类的方法来实现功能,否则程序的可复用性就会变差,在多态的场景下程序也会出现错误。依赖倒置原则: 要面向接口编程,不要面向现实编程。高层模块不应该依赖底层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象,这样就降低了程序的耦合度。单一职责(功能)原则: 控制类的粒度的大小、将对象解耦、提高其内聚性。即一个方法、语句、表达式应该单一的做一件事情,不要用一个方法来实现多个功能。接口隔离原则: 要为各个类建立它们需要的专用接口。一个类对应一个接口,不要用多个类实现同一个接口。类似单一实现。迪米特法则: 只与你的直接朋友交谈,不跟“陌生人”说话。保证A-B-C链式调用,不要A直接与C通信。缺点就是B有点冗余,但重点还是要保证系统结构清晰。合成复用原则: 尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。也就是尽量先考虑将对象B作为对象A的属性来使用,其次才是考虑继承(开闭原则的实现)。 组合:父类可以拥有子类,子类不能独立于父类存在。 聚合:父类可以包含子类,子类可以独立于父类存在。
本文链接地址:https://www.jiuchutong.com/zhishi/299314.html 转载请保留说明!

上一篇:Vue--》MVVM模型在Vue中的使用(vue的mvvm模型)

下一篇:使用 JavaScript 检测用户是否在线(js检查json是否合法)

  • 直通车关键词匹配模式探究(直通车关键词的作用)

    直通车关键词匹配模式探究(直通车关键词的作用)

  • 拼多多关注的店铺在哪里(拼多多关注的店铺已失效是怎么了)

    拼多多关注的店铺在哪里(拼多多关注的店铺已失效是怎么了)

  • 电话打过去嘟嘟嘟自动挂断(电话打过去嘟嘟嘟很快)

    电话打过去嘟嘟嘟自动挂断(电话打过去嘟嘟嘟很快)

  • 苹果11上拉菜单不见了(11pro上拉菜单)

    苹果11上拉菜单不见了(11pro上拉菜单)

  • 4k是啥意思(4k是啥意思分辨率多少)

    4k是啥意思(4k是啥意思分辨率多少)

  • oppo黑屏强制重启(oppo黑屏强制重启怎么弄)

    oppo黑屏强制重启(oppo黑屏强制重启怎么弄)

  • 照片删除两三年能恢复吗(删除很久的照片)

    照片删除两三年能恢复吗(删除很久的照片)

  • 华硕tuf是什么意思(华硕 tuf dash)

    华硕tuf是什么意思(华硕 tuf dash)

  • mac搜不到airpods(mac搜不到iphone热点)

    mac搜不到airpods(mac搜不到iphone热点)

  • 网连接上显示不可上网是怎么回事(网连接上显示不可上网是怎么回事信号强)

    网连接上显示不可上网是怎么回事(网连接上显示不可上网是怎么回事信号强)

  • airpodsa2031是第几代(airpodsa2031是第几代多少钱)

    airpodsa2031是第几代(airpodsa2031是第几代多少钱)

  • iphone锁屏声音没了(苹果锁屏声音打开了还是没有声音)

    iphone锁屏声音没了(苹果锁屏声音打开了还是没有声音)

  • qq来信息为什么不弹窗(qq来信息为什么没有声音是怎么回事)

    qq来信息为什么不弹窗(qq来信息为什么没有声音是怎么回事)

  • 华为手表连接不上手机(华为手表连接不上苹果手机)

    华为手表连接不上手机(华为手表连接不上苹果手机)

  • 洗衣机er2是什么意思(洗衣机er2是什么故障原因)

    洗衣机er2是什么意思(洗衣机er2是什么故障原因)

  • 手机莫名其妙关机怎么回事(手机莫名其妙关机开不了是什么原因)

    手机莫名其妙关机怎么回事(手机莫名其妙关机开不了是什么原因)

  • 在计算机网络中wan表示(在计算机网络中通常所说的WLAN)

    在计算机网络中wan表示(在计算机网络中通常所说的WLAN)

  • 手机号被360标注怎么取消(手机号被360标注成骚扰电话,怎么去掉)

    手机号被360标注怎么取消(手机号被360标注成骚扰电话,怎么去掉)

  • 手机1gb等于多少m(手机1gb等于多少兆)

    手机1gb等于多少m(手机1gb等于多少兆)

  • 后置摄像头坏了怎么办(捷渡D86P后置摄像头坏了)

    后置摄像头坏了怎么办(捷渡D86P后置摄像头坏了)

  • 淘宝怎么小窗口看直播(淘宝如何开小窗口)

    淘宝怎么小窗口看直播(淘宝如何开小窗口)

  • 腾讯地图如何标记地点(腾讯地图如何标注自己店铺位置免费)

    腾讯地图如何标记地点(腾讯地图如何标注自己店铺位置免费)

  • 小米手机怎么修改地区(小米手机怎么修改dns)

    小米手机怎么修改地区(小米手机怎么修改dns)

  • 苹果的备忘录怎么改名字(苹果的备忘录怎么备份)

    苹果的备忘录怎么改名字(苹果的备忘录怎么备份)

  • 探探左滑是什么(探探左滑算次数吗)

    探探左滑是什么(探探左滑算次数吗)

  • 小米9pro是曲面屏吗(小米9 曲面)

    小米9pro是曲面屏吗(小米9 曲面)

  • 乐视视频如何缓存视频(乐视视频缓存的视频怎么保存到手机)

    乐视视频如何缓存视频(乐视视频缓存的视频怎么保存到手机)

  • 打电话手机关机怎么回事(打电话手机关机的提示语)

    打电话手机关机怎么回事(打电话手机关机的提示语)

  • initsdk.exe是什么进程 作用是什么 initsdk进程的查询(initpki.dll有什么用)

    initsdk.exe是什么进程 作用是什么 initsdk进程的查询(initpki.dll有什么用)

  • Redis高频面试题汇总(上)(redis面试必会6题经典)

    Redis高频面试题汇总(上)(redis面试必会6题经典)

  • 收到上年度所得税发票
  • 预授权撤销怎么撤销
  • 运输企业印花税按什么缴纳
  • 医院员工工资表模板
  • 哪些财务指标可以用于判断一个企业即将发生财务危机
  • 春节商家促销文案
  • 商品房的销售方式有哪些
  • 免退税企业结转怎么操作
  • 营改增是初次分配还是再分配
  • 商品非正常损耗收取的赔偿款账务处理怎么做?
  • 法人转钱进公账要交税吗
  • 商场交的房租押金可以退吗
  • 小规模建筑业有增值税吗
  • 增值税专票盖章正确位置
  • 对方转出没收到怎么办
  • 注册资本与注册资金的区别
  • 企业新建厂房
  • 缴纳的教育费附加可以税前扣除吗
  • 解放双手神器说说
  • 跟客户合作后发给客户的句子
  • 政府收储土地补偿款账务处理
  • 被投资企业所在地什么意思
  • 生产企业原材料的订购与运输建模
  • 未开票的销售收入分录
  • 事业单位预付款会计分录
  • 运输发票符合什么要求
  • 冷门暴利行业
  • 汇算清缴针对哪些对象
  • 中国网购软件
  • 大西洋跟太平洋有没有融为一体?
  • 进项税额转出余额在贷方怎么处理
  • 贝特希金斯
  • 担保合同印花税税率怎么算
  • 11个点的是什么星座
  • 会计分录什么时候写主营业务收入
  • 新合同旧合同的法律依据
  • 收到退税收入
  • dedecms51
  • 总结帝国cms内容是什么
  • sql chr函数
  • mysql交互操作过程中使用的语言是什么
  • 季节性临时工什么意思
  • 年应税销售额是指纳税人在连续不超过12个月或四个季度
  • 应付账款主要是什么
  • 因员工过失造成的工伤用不用赔
  • 违约方缴纳的履约金
  • 计提个人经营所得税怎么算
  • 购买需要安装的生产设备会计分录
  • 提高纳税遵从度依靠行政执法还是纳税服务
  • 酒店财务帐务处理方案
  • 用SQL脚本读取Excel中的sheet数量及名称的方法代码
  • sql四种功能
  • WIN7系统如何设置自动关机
  • Linux系统下Qt的基本安装和配置
  • win10系统小娜不见了
  • winxp系统怎么设置默认账户登入
  • 苹果mac有啥用
  • 鲁大师完全卸载
  • 中国有多少台百万机组
  • mac怎么快速上手
  • win8.1系统升级
  • linux录屏软件安装
  • linux修改22端口号
  • windows右键菜单
  • ExtJS 2.0实用简明教程 之ExtJS版的Hello
  • js实现时间
  • shell脚本用法
  • js判断函数
  • jquery绑定事件和移除事件
  • 在javascript中用下面哪个关键词来定义变量
  • 理解JavaScript事件对象
  • js正则表达式变量
  • python模块和包的区别
  • unity random.value
  • web前端入门教程
  • 国家税务总局党建工作局
  • 劳务合同和劳务协议的区别和联系
  • 大修费属于什么费用
  • 销售税金含增值税怎么计算企业所得税
  • 电费增值税专用发票如何抵税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设