看百度技术专家如何深入研究,重复使用的代码经验——设计模式

用户头像
周老师
关注
发布于: 2020 年 08 月 31 日





关于设计模式

模式是从不断重复出现的事件中发现和抽象出的规律,是解决问题形成的经验总结。设计模式作为一种模式,最早应用于建筑领域,目的是在图纸上以一种结构化、可重用化的方法,获得建筑的基本要素。渐渐地,这种思想在软件领域流行起来,并获得发展,形成了软件开发的设计模式。软件设计模式被认为是一套被反复使用、多数人知晓、经过分类编目的代码设计经验的总结。最早的设计模式是由GOF在《Design Patterns:Elements of Reusable Object-Oriented Software》一书提出的, 这也被 称为经典设计模式,共有23个,分为创建型模式、行为型模式、结构型模式三类。使用设计模式的目的是为了提高代码的可重用性、让代码更容易被他人理解、系统更加可靠。

应用设计模式构建有弹性、可扩展的应用系统已成为软件人员的共识,越来越多的程序员需要掌握设计模式的内容。近年来,市场上也涌现了一些有关设计模式的书籍。这些书籍各有特点,多从生活中的示例入手,让读者对所述设计模式有一定的感性认识,然后引入设计模式概念,最后用计算机专业程序进行理性说明。通常,示例部分内容成熟。



本书内容

本书首先利用两章讲解了用到的预备知识:接口与抽象类,反射。然后从常用的23个设计模式中精选了10个进行讲解,包括2个创建型模式:工厂、生成器模式,4个行为型模式:观察者、访问者、状态、命令模式,4个结构型模式:桥接、代理、装饰器、组合模式。每个模式一般都包含以下四部分。

(1)问题的提出: 一般从生活中的一类常见事物引出待讨论的主题。

(2)模式讲解:用模式方法解决与之对应的最基本问题,归纳出角色及UML类图。

(3)深入理解模式:讲解笔者对模式的一些体会。

(4)应用探究:均是实际应用中较难的程序,进行了详细的问题分解、分析与说明。





由于篇幅限制小编,小编只在这里给大家展示目录及部分内容,有需要完整文档的程序猿(媛)可以关注文末公众号获取

本书特色

(1)示例丰富,讲解细致,有命令行程序,也有图形界面、Web程序等,涉及Java、JSP、JavaScript、Ajax 等技术。

(2)强调了语义的作用。-方面把设计模式抽象转化成日常生活中最朴实的语言;另一方面把生活中对某事物“管理”的语言转译成某设计模式。相比而言,后者更为重要。

(3)强调了反射技术的作用。对与反射技术相关的设计模式均做了详细的论述。

(4)提出了如何用接口思维巧妙实现C++标准模板库方法功能的技术手段。

学习设计模式方法

(1 )在清晰设计模式基础知识的基础上,认真实践应用探究中的每个示例,并充分分析,加以思考。

(2)学习设计模式不是一朝-夕的事,不能好高骛远。它是随着读者思维的发展而发展的,一定要在项目中亲身实践,量变引起质变,有句话说得好:“纸上得来终觉浅,绝知此事要躬行”。

(3)加强基础知识训练,如数据结构、常用算法等。基础知识牢固了,学习任何新事物都不会发慌,有信心战胜它。否则,知识学得再多,也只是空中楼阁。

(4)不要为了模式而模式,要在项目中综合考虑,统筹安排。

第1章接口与抽象类

  • 1.1语义简单描述

  • 1.2与框架的关系

  • 1.3拓展研究

  • 1.3.1柔性多态

  • 1.3.2借鉴STL标准模板库



第2章反射

  • 2.1反射的概念

  • 2.2统一形式调用

  • 2.3反射与配置文件



第3章工厂模式

  • 3.1问题的提出

  • 3.2 简单工厂

  • 3.3工厂

  • 3.4抽象工厂,

  • 3.5应用探究

  • 3.6自 动选择工厂



第4章生成器模式

  • 4.1问题的提出

  • 4.2生成器模式

  • 4.3深入理解生成器模式

  • 4.4应用探究



第5章观察者模式

  • 5.1问题的提出

  • 5.2观察者模式

  • 5.3深人理解观察者模式

  • 5.4 JDK 中的观察者设计模式

  • 5.5应用探究



第6章桥接模式

  • 6.1问题的提出

  • 6.2 桥接模式

  • 6.3深入理解桥接模式

  • 6.4 应用探究



第7章代理模式

  • 7.1问题的提出

  • 7.2代理模式

  • 7.3虚拟代理

  • 7.4远程代理

  • 7.5计数代理

  • 7.6动态代理



第8章状态模式

  • 8.1问题的提出

  • 8.2状态模式

  • 8.3 深入理解状态模式

  • 8.4应用探究



第9章访问者模式

  • 9.1问题的提出

  • 9.2访问者模式

  • 9.3深入理解访问者模式

  • 9.4应用探究



第10章命令模式

  • 10.1问题的提出

  • 10.2 命令模式

  • 10.3深入理解命令模式

  • 10.4应用探究



第11章装饰器模式

  • 11.1问题的提出

  • 11.2装饰器模式

  • 11.3深入理解装饰器模式

  • 11.4应用探究



第12章组合模式

  • 12.1问题的提出

  • 12.2组合模式

  • 12.3深入理解组合模式

  • 12.4应用探究



由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!不会只有大纲和目录,有需要的程序猿(媛)可以关注下方公众号获取





用户头像

周老师

关注

精通java热衷于分享java领域资料,感谢支持 2020.06.09 加入

还未添加个人简介

评论

发布
暂无评论
看百度技术专家如何深入研究,重复使用的代码经验——设计模式