设计模式是为程序代码优化而诞生的,目的是设计出易维护、容易拓展、易复用、灵活性好的程序。设计模式体现是面向对象的三大思想:封装、继承和多态。设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。

学习设计模式的这段时间,写了一系列博客,不想表达什么,只是单纯的为了记录这个过程,不能再像当年学陈伟VB视频一样,什么都没有留下,每次接触一个新的设计模式,总是喜欢把她和生活中的某些场景联系起来,串成一个又一个故事,成了我一篇篇碎碎念的博文,下面一张图,简单概括一下设计模式。

模式不是描述代码,替代的,它允许开发者之间通过去沟通问题的机制来使得问题得以解决。模式是对一个通用设计问题可以复用的解决方式。对于许多模式来讲, UML 图的描述可能不能全部描述清楚模式,例如,策略模式 和状态模式的UML图是一模一样的,但是它们本质是不同的,策略模式封装了算法,状态模式则强调当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了子类。这是我们学习模式的一个关键概念之一,这就是为什么和什么时候一个特定的情形应该被应用。举一个小例子,通常我们把创建了一些事的代码叫做工厂,然而不是每一个创建者都是一个工厂,笼统地叫工厂不能表达正确的讯息,实际上有两种不同的工厂模式,工厂方法和抽象工厂方法,明白模式之间的不同和理解不是所有的创建者都叫工厂,这有助于利用模式名称帮助开发者沟通。

每天宿舍,食堂,南四楼的生活依旧在继续,编程也不会结束,每天,我还是继续着对程序,对爱情,对理想,对人生的期盼和向往,而学习设计模式的过程却要暂时告一段落,当然在以后的学习中还会陆续学习。最后,我们的面向对象编程之路才刚刚开始,相信通过我们的努力,我们的人生会更加精彩。

设计模式总结之没有结束的结尾相关推荐

  1. 题目内容: 你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“itJava练习之翁恺MOOC——第六周

    Java练习之翁恺MOOC 一.前言 一.题目 1.第六周 单词长度 2.第六周 GPS数据处理 二.代码实现 1.单词长度 2.GPS数据处理 总结 一.前言 零基础学习Java语言 一.题目 1. ...

  2. 设计模式之观察者模式、中介者模式、迭代器模式、访问者模式、备忘录模式、解释器模式

    前言 这是设计模式的最后一章,包含了剩余的 行为型模式 中的 观察者模式.中介者模式.迭代器模式.访问者模式.备忘录模式.解释器模式 系列文章 第一章:7种设计原则之单一职责原则.接口隔离原则.依赖倒 ...

  3. Java 经典设计模式-- 05.并发型模式

    前言 书接上文,终于来到了设计模式篇最硬核的并发设计模式介绍篇了,上一篇中对 Java 8 的行为模式中的常用设计模式做了介绍与分析,本篇将对 Java 8 的并发模式中的常用模式做介绍与分析,为了为 ...

  4. 《设计模式系列》- 代理模式

    有情怀,有干货,微信搜索[三太子敖丙]关注这个有一点点东西的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文 ...

  5. 设计模式之单例设计模式

    1 设计模式(Design pattern) 代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用.设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案.这些解决方案是众多软件开发人 ...

  6. 第二十九章 OOTV杯超级模式大赛-模式总结(读书笔记)

    第29章OOTV杯超级模式大赛-模式总结 29.1 演讲任务  小菜睡眼朦胧,趴到了桌上,打起盹来,不一会儿就进入了梦乡. 29.2 报名参赛  工厂模式三姐妹:工厂方法,抽象工厂方法,简单工厂方法. ...

  7. 高级软件工程课程总结及收获感想

    一.学习收获和感想 从本学期孟老师的软件工程课程学习中,我收获良多.本学期的软件工程课程安排是从实践到再到理论学习,让我对课程的学习有了一种比较全新的体验. 本学期的学习内容如下: 第一节:工欲善其事 ...

  8. 一个html文档所需要的最基本的标记对是,川大《WEB技术》19秋在线作业1题目【标准答案】...

    <WEB技术>18秋在线作业1-0001 试卷总分:100  得分:100 一.单选题 (共 21 道试题,共 84 分) 1.Dreamweaver 是( )软件. A.网页编辑 B.字 ...

  9. 浙大翁恺pat练习题_单词长度(翁恺老师C语言入门第八周测试题1)

    [更新]:写好程序后没在mooc的线上测试系统跑过,有部分格式上的bug,目前已经更新了,线上测试通过. 题目内容: 你的程序要读入一行文本,其中以空格分隔为若干个单词,以'.'结束.你要输出这行文本 ...

最新文章

  1. 卸载虚拟机出现用户已存在的错误_极限 JVM (1) 虚拟机规范
  2. erp沙盘模拟软件_VOL.977 工商第九周周报 ERP沙盘模拟大赛排名第一 跨学科校企合作商讨筹备...
  3. gan semi conductor
  4. 《秦时明月世界》手游如何用Unity定制化渲染管线?
  5. HashedWheelTimer时间轮原理分析
  6. LiveVideoStack线上分享第三季(九):《街舞》《长安十二时辰》背后的文娱大脑...
  7. 记一次SAP开发工程师给微软Azure报incident的体验
  8. php试题库,PHP试题库一
  9. 未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0, Culture=neutral,解决
  10. 各大快递公司面单号准确性验证的正则表达式,来自淘宝开放平台,时间是20181206,...
  11. 通力法评 | 《证券基金经营机构信息技术管理办法》解读
  12. 凸优化学习笔记(一):仿射集、凸集、锥
  13. preparedStatement介绍
  14. PTA:运算符重载(最简分数,c++)
  15. 支付宝的蚂蚁积分用途很多,别不当回事儿,用得好能省很多钱哦!
  16. Pig 调优实践经验总结
  17. 鼠标经过爆炸效果html,jquery鼠标滑过爆炸特效插件
  18. 论文学习笔记 SIMC: ML Inference Secure Against Malicious Clients at Semi-Honest Cost
  19. C#做的配套C做的SNIFFER(C#)--C#简单而实用
  20. kiss原则包括什么_编程中的kiss原则是什么?

热门文章

  1. 数据分析,这么做才有用
  2. 移动图形新标准——Mobile SVG(转)
  3. redis报错 oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
  4. 趋高智能之运动控制软件伺服控制多轴
  5. CentOS7设置固定IP
  6. SQL书写顺序和执行顺序
  7. 互联网给我们带来了什么。。。
  8. 魔改mammoth支持导入样式
  9. SCOUT MINI Pro松灵机器人j建图定点步骤
  10. 西门子s7 200smart与3台三菱e740变频器通讯程序