背景:《大话设计模式》上的例子已经敲完了,总是偷懒不想去做总结,师傅每次开会都会强调总结、颗粒归仓云云,自己当师傅也会给小徒弟强调学完一个阶段一定要做总结云云,但是呢?师傅们的总结博客上可以看出来人家的细心与认真,小徒弟们的总结每次的日报上都会详细的摆着,而自己是做得最不好的,博客博客,没有,日报日报,偷工减料,哎......不过,过去了,好好把握现在吧!大话设计模式,总结来啦,有点晚,别介意哈,嘿嘿


总体来说《大话设计模式》是饕餮盛宴,下面我就来一一的介绍......


一、基础篇


   大餐降至,小菜先来开开胃,大话设计模式的面向对象基础就是“开胃小菜”,好好开开胃吧!


对象:一个自包含的实体,用一组可识别的特性和行为来标志。

类:具有相同的属性和功能的对象的抽象的集合。

实例:真实的对象

实例化:创建对象的过程,使用new关键字来创建。

构造方法:又名构造函数,其实就是对类进行实例化。构造方法与类同名,无返回值,也不需要void,在new时候调用。所用类都有构造方法。

方法重载:在不改变原方法的基础上,新增功能。

属性:一个方法或一对方法,适合于以字段的方式使用方法调用的场合。

封装:每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装,因此对象不必依赖其他对象来完成自己的操作。

继承:对象的继承代表了一种“is-a”的关系,如果两个对象A和B,可以描述为“B是A”,则表明B可以继承A。继承者可以理解为是对被继承者的特殊化,以为它除了具备被继承者的特性外,还具备自己独有的个性。

多态:表示不同的对象可以执行相同的动作,但要通过它们自己的实现代码来执行。

重构:重构就是通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。

抽象类:代表一个抽象概念,提供一个继承的出发点。

接口:把隐式公共方法和属性组合起来,以封装特定功能的一个集合。

泛型:具有占位符(类型参数)的类、结构、接口和方法。

委托:是对函数的封装,可以当作给方法的特征指定一个名称。是一种引用方法的类型。一旦为委托分配了方法,委托将于方法具有完全相同的行为。

事件:是委托的一种特殊形式,当发生有意义的事情时,事件对象处理通知过程。


二、模式篇


    大话设计模式中的二十四道大菜,道道爽口,每道菜品都有它们自己的特色,仔细品尝,乐在其中。


   《大话设计模式》中一共有24个模式,大致上可以分为三类,分别为行为型模式,结构型模式和创建型模式,如图:



行为型模式:考虑算法和对象间职责的分配。不仅描述对象和类的模式,还描述它们之间的通讯模式。

结构型模式:考虑如何组合类和对象以获得更大的结构。

创建型模式:考虑对象的实例化工程。


三、原则


    盛宴中总得有美酒相伴吧,那么六大原则就是各种美酒吧,有单一职责——茅台,有开放-封闭——五粮液,有依赖倒转——剑南春,有里氏代换——杏花村,有迪米特——汾酒,还有合成/聚合复用——二锅头,好酒虽好,可不要贪杯哦!


单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。

开放-封闭原则:软件实体(类,模块,函数等等)应该可以扩展,而不是修改。

依赖倒转原则:A.高层模块不应该依赖低层模块。两个都应该依赖于抽象。

             B.抽象不应该依赖细节。细节应该依赖抽象。

里氏代换原则:子类型必须能够替换掉它们的父类型。

迪米特法则:如果两个类不必彼此直接通信,那么两个类就不应当发生直接的相互作用,如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。

合成/聚合复用原则:尽量使用合成/聚合,尽量不要使用类继承。


四、心得


   享受大餐后,是不是应该来点甜点呀?心得体会便是那“饭后甜点”,嘿嘿......

    上面仅仅是《大话设计模式》的大体总结,其中的各个模式、各个原则才是这本书的精华所在,而我仅仅是学到了设计模式的皮毛而已,总结完毕后我想说的是:设计模式学无止境!

    以上餐品内容纯属本人虚构,仅供参考......





大话设计模式——饕餮盛宴相关推荐

  1. 【大话设计模式】——浅谈设计模式基础

    初学设计模式给我最大的感受是:人类真是伟大啊!单单是设计模式的基础课程就让我感受到了强烈的生活气息. 个人感觉<大话设计模式>这本书写的真好.让貌似非常晦涩难懂的设计模式变的生活化.趣味化 ...

  2. 大话设计模式之简单工厂模式

    一.简单工厂模式 1.起因 最近在看一本大话设计模式一书,感觉上面讲述的富有故事性,引导你一步一步的走进设计模式的世界.首先我先看到的是简单工厂模式,对此我想给自己做一个总结,给自己做一个提示. 2. ...

  3. java 之 解释器模式(大话设计模式)

    在软件的世界里存在着翻译机,只不过在软件中我们称之为解释器.在系统中如果某一特定类型的问题在频繁的发生,此时我们就有必要将这些问题的实例表述为一个语言中句子, 因此可以构建一个解释器,然后利用该解释器 ...

  4. 享元模式 -- 大话设计模式

    在今天,读书有时是件"麻烦"事.它需要你付出时间,付出精力,还要付出一份心境.--仅以<大话设计模式>来祭奠那逝去的-- 享元模式:运用共享技术有效地支持大量细粒度的对 ...

  5. 【Python】《大话设计模式》Python版代码实现

    <大话设计模式>Python版代码实现 上一周把<大话设计模式>看完了,对面向对象技术有了新的理解,对于一个在C下写代码比较多.偶尔会用到一些脚本语言写脚本的人来说,很是开阔眼 ...

  6. lt;二gt;读lt;lt;大话设计模式gt;gt;之策略模式

    又和大家见面了.可以坚持写出第二篇文章真不错,好好加油. <<大话设计模式>>解说策略模式是以商场收银软件程序开头的,那么问题来了.哪家商场收银软件强,开玩笑了. 读过上篇文章 ...

  7. 读《大话设计模式》有感

           昨天拿到了<大话设计模式>一书,竟然一口气读到第15章,这在我看过的书中还是没有的.这本书出来也有半年多了,之所以现在才买来读,这其中也是有原因的.          早在这 ...

  8. 《大话设计模式》第29章-OOTV杯超级模式大赛—模式总结(四)

    <大话设计模式>将于11月底由清华大学出版社出版 <大话设计模式>第29章-OOTV杯超级模式大赛-模式总结(一) <大话设计模式>第29章-OOTV杯超级模式大赛 ...

  9. 大话设计模式Python实现-简单工厂模式

    简单工厂模式(Simple Factory Pattern):是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类. 下面使用简单工厂模式实现一个简单的四则运算 1 #!/us ...

最新文章

  1. Go 知识点(18)— 条件编译(编译标签、文件后缀)
  2. python 利用jieba读取txt文本进行分词后存入新txt
  3. c语言编程软件出现问号,【C语言】if语句和问号表达式
  4. 理解ffmpeg中的pts,dts,time_base
  5. 图结构练习——DFS——判断可达性
  6. python 输出字符串编码_Python print 字符串编码问题
  7. 深入浅出VC++串口编程之基于Win32 API
  8. excel if函数 android,Excel函数公式:多条件判断你还在用If函数来实现,那就真的Out了...
  9. 2018湖北技能高考计算机类学校,武汉船舶职业技术学院举行2018年湖北省技能高考...
  10. Flutter进阶—自定义主题风格
  11. linux 修改文件类型 查看系统类型 改hosts文件
  12. 搜狗输入法5.0正式版发布 首创云计算输入
  13. hbuilderx升级3.6.5版本后运行到手机端同步资源失败,未得到同步资源的授权,请停止运行后重新运行,并注意手机上的授权提示
  14. 视频会议系统gk服务器,华为视频会议系统中的终端如何通过GK发起呼叫
  15. 如何做一个基于JAVA二手交易网站系统毕业设计毕设作品(springboot框架)
  16. 镁客网每周硬科技领域投融资汇总(2.24-3.2),地平线机器人晋升估值最高的AI芯片独角兽...
  17. 谷歌和有道翻译API使用
  18. sql 大于号小于号显示问题
  19. openssl 非对称加密算法DSA命令详解
  20. 使用 github pages, 部署静态网页

热门文章

  1. 如愿斩获阿里巴巴定级P7的offer,不知四面其艰难,为此筹备半年
  2. 竟然如愿让我拿到诸多大厂offer(头条,PDD,Alibaba)-来自Alibaba的Java面试指南,
  3. JavaScript之Soft排序
  4. 个人使用CocosCreator开发小游戏路上的一些“坑坑洼洼”
  5. eayui input的坑坑洼洼
  6. c++QT笔记,windows毛玻璃窗口实现封装
  7. 淘宝亿级流量如何抗住的?从单机到分布式演进
  8. 【爬虫学习笔记day65】7.7. scrapy-redis实战-- IT桔子分布式项目1
  9. HDU 1300 Pearls(DP)
  10. 【Python 教程】11_基础数据类型