新書推薦:
《
形似神异:什么是中日传统政治文化的结构性差异
》
售價:HK$
55.8
《
养育不好惹的小孩
》
售價:HK$
77.3
《
加加美高浩的手部绘画技法 II
》
售價:HK$
89.4
《
卡特里娜(“同一颗星球”丛书)
》
售價:HK$
87.4
《
伟大民族:从路易十五到拿破仑的法国史(方尖碑)
》
售價:HK$
188.2
《
古今“书画同源”论辨——中国书法与中国绘画的关系问题兼中国画笔墨研究
》
售價:HK$
132.2
《
《日本文学史序说》讲演录
》
售價:HK$
72.8
《
无尽的海洋:美国海事探险与大众文化(1815—1860)
》
售價:HK$
99.7
|
編輯推薦: |
23种设计模式
掌握每个设计模式的UML结构和描绘方式
从爱情生活中理解设计模式之美
|
內容簡介: |
本书以作者与虚拟女友(小璐)在生活中遇到的各种问题作为主线,引出设计模式的各种功能、用途,以及解决方法,系统介绍了23种设计模式,根据具体的实例形象化、具体化地进行了代码的编写和详细讲解,让那些本来对设计模式不太了解、一知半解、只有概念的读者,彻底了解和掌握常用的设计模式使用场景及使用方式,并掌握每个设计模式的UML结构和描绘方式。本书共23章,包括认识设计模式、单例模式、工厂模式、建造者模式、原型模式、适配器模式、装饰器模式、外观模式、桥接模式、组合模式、享元模式、代理模式、策略模式、命令模式、状态模式、模板方法模式、备忘录模式、中介者模式、观察者模式、迭代器模式、责任链模式、访问者模式、解释器模式。通过以上的知识,让你从模式小白直接升级为模式大神!本书所需源代码,均可通过本书配套下载链接获得。
本书适合编程初学者或希望在面向对象编程上有所提高的开发人员阅读。
|
關於作者: |
林祥纤
阿里巴巴前高级研发工程师,51CTO特约合作讲师,擅长社交、电商、Spring Boot、分布式架构、微服务架构等领域软件系统的架构设计、系统分析及性能优化等。
|
目錄:
|
前言
认识设计模式/
1.1软件设计模式概述/
1.1.1什么是软件设计模式/
1.1.2为何学习设计模式/
1.2GoF的23种设计模式的分类和功能/
1.2.1设计模式的分类/
1.2.2设计模式的功能/
1.3设计模式的六大原则/
1.3.1六大原则/
1.3.2一句话概括设计模式六大原则/
创建型模式之单例模式/
2.1单例模式的基本概念/
2.1.1什么是单例模式/
2.1.2单例模式的优缺点/
2.1.3单例模式的使用场景/
2.1.4单例模式的类图/
2.1.5单例模式的实现方式/
2.2单例模式的实现:懒汉模式/
2.2.1准备工作:构建一个女朋友/
2.2.2懒汉模式:你是我的唯一/
2.2.3线程安全问题:出现了两个小璐/
2.2.4指令重排/
2.2.5懒汉模式小结/
2.3单例模式的实现:饿汉模式/
2.3.1饿汉模式/
2.3.2饿汉模式小结/
2.4单例模式的实现:静态内部类/
2.4.1静态内部类/
2.4.2静态内部类小结/
2.5单例模式的实现:枚举类型/
2.5.1枚举类型/
2.5.2枚举类型小结/
2.6单例模式在Spring框架和JDK源码中的
应用/
2.6.1在JDK源码中的应用/
2.6.2在Spring源码中的应用/
2.7单例模式实战:线程池/
2.7.1普通方式实现/
2.7.2单例模式实现/
深入理解设计模式创建型模式之工厂模式/
3.1工厂模式/
3.1.1工厂模式概念/
3.1.2简单理解工厂模式/
3.2无工厂时代/
3.2.1无工厂时代类图:汽车图纸/
3.2.2无工厂时代编码:制造汽车/
3.3工厂模式之简单工厂模式/
3.3.1简单工厂模式的诞生/
3.3.2简单工厂模式构建汽车/
3.3.3简单工厂模式小结/
3.4工厂模式之工厂方法模式/
3.4.1工厂方法模式/
3.4.2工厂方法模式实现汽车的构建/
3.4.3简单工厂扩展特性说明/
3.5工厂模式之抽象工厂模式/
3.5.1抽象工厂模式/
3.5.2抽象工厂模式实现汽车的构建/
3.6工厂模式在Spring框架和JDK源码中的
应用/
3.6.1Spring中的工厂模式/
3.6.2JDK中的工厂模式/
3.7工厂模式实战之不同的支付渠道/
3.8工厂模式总结/
3.8.1工厂模式特点/
3.8.2工厂模式区别/
3.8.3工厂模式适用场景/
目录
建造者模式/
4.1建造者模式概念/
4.1.1什么是建造者模式/
4.1.2建造者模式的结构和类图/
4.1.3建造者模式的优缺点/
4.2建造者模式之组装计算机/
4.2.1无建造者模式/
4.2.2建造者模式/
4.3建造者模式在Spring框架和JDK源码中
的应用/
4.3.1JDK中的建造者模式/
4.3.2Spring中的建造者模式/
创建型模式之原型模式/
5.1原型模式概念/
5.1.1原型模式定义及优势/
5.1.2原型模式主要角色和类图/
5.1.3原型模式适用场景及在Java中的
实现/
5.2原型模式之复印简历/
结构型模式之适配器模式/
6.1适配器模式概念/
6.1.1适配器模式基本概念/
6.1.2适配器模式适用场景和分类/
6.2适配器模式之类适配器/
6.2.1类适配器基本概念/
6.2.2电压转换例子说明/
6.2.3电压转换/
6.3适配器模式之对象适配器/
6.3.1对象适配器模式基本概念/
6.3.2电压转换例子说明/
6.3.3电压转换/
6.4适配器模式之缺省适配器/
6.4.1缺省适配器模式基本概念/
6.4.2电压转换例子说明/
6.4.3电压转换/
6.4.4电压转换在jdk1.8 的实现/
6.5适配器模式在Spring框架中的
应用/
6.5.1在Spring中的应用/
6.5.2导出数据类型/
结构型模式之装饰器模式/
7.1装饰器模式概念/
7.2照相机美颜滤镜/
7.2.1照相机类图/
7.2.2照相机编码/
7.2.3装饰器模式小结/
7.3装饰器模式在Spring框架和JDK源码中
的应用/
7.3.1在Spring中的应用/
7.3.2在JDK中的应用/
结构型模式之外观(门面)模式/
8.1外观模式概念/
8.2外观模式之一键开关/
8.2.1一键开关类图/
8.2.2一键开关编码/
8.2.3外观模式的优缺点/
8.2.4外观模式与适配器模式的区别/
8.3外观模式在Spring框架和SLF4J中的
应用/
8.3.1在Spring中的应用/
8.3.2在SLF4J中的应用/
结构型模式之桥接模式/
9.1桥接模式之消息发送/
9.1.1消息发送场景问题/
9.1.2消息发送1.0之只有消息发送方式/
9.1.3消息发送2.0之加入消息类型/
9.1.4消息发送3.0二位扩展问题分析/
9.2桥接模式基本概念/
9.3桥接模式之消息发送/
9.4桥接模式总结以及应用场景/
9.4.1桥接模式总结/
9.4.2桥接模式的应用场景/
9.5桥接模式在JDK源码中的应用/
结构型模式之组合模式/
10.1组合模式基本概念/
10.2组合模式之公司部门管理/
10.2.1公司管理分析/
10.2.2公司管理编码/
10.3组合模式在Spring框架和JDK中的
应用/
10.3.1在Spring中的应用/
10.3.2在JDK中的应用/
结构型模式之享元模式/
11.1享元模式/
11.1.1享元模式(Flyweight)基本
概念/
11.1.2享元模式之共享东西/
11.2享元模式在框架中的应用/
结构型模式之代理模式/
12.1代理模式概念/
12.2代理模式之静态代理/
12.2.1静态代理用户服务的实现/
12.2.2静态代理方法耗时统计/
12.3代理模式之动态代理/
12.3.1JDK动态代理类/
12.3.2使用JDK动态代理类方法耗时
统计/
12.3.3在Spring框架的说明/
行为型模式之策略模式/
13.1策略模式概念/
13.2策略模式之出行旅游/
13.3策略模式之锦囊妙计/
行为型模式之命令模式/
14.1命令模式之烧烤
|
內容試閱:
|
设计模式包含了大量的编程思想,真正掌握并不容易。市面上关于设计模式的书籍并不少,但大多讲解得比较晦涩,没有真实的应用场景和框架源码支撑,学习后,只知其形,不知其神,就会造成这样的结果: 知道各种设计模式,但是不知道怎样应用到真实项目中。本书针对上述问题,有针对性地进行了升级,以有趣的故事为背景,采用框架源码分析的方式,让文章内容生动有趣好理解。
本书主要内容。
本书通过有趣的案例场景以及设计模式在Spring框架、JDK中的应用讲解设计模式,帮助开发人员能够更好更快地理解和应用设计模式。
本书共23章,主要内容如下:
第1章,介绍设计模式的分类、六大原则,以及23种设计模式的总体情况,让读者在学习之前,对设计模式有整体的认识。
第2~23章,通过有趣的场景案例讲解设计模式的概念、使用场景以及使用方法。
本书特点。
以浅显有趣的案例,说明设计模式的概念和应用。
以简单直观的UML类图方式说明设计模式中各种角色的关系。
丰富有趣的故事穿插全文,寓教于乐,让学习不再枯燥。
采用由浅入深,层层深入,步步推进的讲解方式,让复杂的设计模式变得简单易懂。
如何阅读本书。
这是一本偏向动手实战的技术图书,主要介绍设计模式解决方案的具体落地方法。本书的每一章都会重点介绍与该章主题相关的设计模式,可以从第1章开始阅读,也可以根据需要从任意一章进行阅读。在阅读的过程中,读者不仅要仔细阅读每一章的文字,以及案例场景设计,同时更要多阅读代码,或者自己动手编写代码。
深入理解设计模式学习收获
理解设计模式的意义和实现。
写出优雅的代码,轻松且无障碍。
提升程序员在项目开发过程中发现问题和解决问题的能力。
让代码可重用、可读、可靠、可维护、可扩展。
由于作者水平有限,书中不足之处在所难免,诚挚期盼专家和读者给予批评和指正。
|
|