Java设计模式

本书使用Java语言详细讲解常用的软件设计模式。全书共26章,内容包括设计模式概述、面向对象设计原则、简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式、适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代理模式、职责链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式。本书结合大量项目实例对每一个设计模式进行全面、细致的讲解。全书结构合理、条理清晰、内容丰富,且在每一章后面都配有一定数量的习题,在附录中还提供了UML类图相关知识的介绍和3套设计模式模拟试题。另外,扫描书中二维码,可以观看与本书内容配套的课程教学视频,本书还提供了完整的教学资源。本书既可作为高等院校计算机及软件相关专业本科生和研究生软件设计模式、软件体系结构、面向对象分析与设计等课程教材,也可作为各软件培训机构培训教材及全国计算机技术与软件专业技术资格(水平)考试辅导教材,还可作为软件架构师、软件工程师及广大软件爱好者的自学读物和参考用书。
作者简介
刘伟,中南大学计算机应用技术博士,高级工程师,中国计算机学会会员,国家认证系统分析师,首批国家认证系统架构设计师,数据库系统工程师,微软认证系统工程师,CSDN认证专家及知名博主。具有十多年软件开发、项目管理及教育培训经验。
目  录




目录







第1章设计模式概述



1.1设计模式的诞生与发展



1.1.1模式的诞生与定义



1.1.2软件模式概述



1.1.3设计模式的发展



1.2设计模式的定义与分类



1.2.1设计模式的定义



1.2.2设计模式的基本要素



1.2.3设计模式的分类



1.3GoF设计模式简介



1.4设计模式的优点



1.5本章小结



1.6习题



第2章面向对象设计原则



2.1面向对象设计原则概述



2.2单一职责原则



2.3开闭原则



2.4里氏代换原则



2.5依赖倒转原则



2.6接口隔离原则



2.7合成复用原则



2.8迪米特法则



2.9本章小结



2.10习题



第3章简单工厂模式



3.1创建型模式



3.2简单工厂模式概述



3.3简单工厂模式结构与实现



3.3.1简单工厂模式结构



3.3.2简单工厂模式实现



3.4简单工厂模式应用实例



3.5关于创建对象与使用对象



3.6简单工厂模式的简化



3.7简单工厂模式优/缺点与适用环境



3.7.1简单工厂模式优点



3.7.2简单工厂模式缺点



3.7.3简单工厂模式适用环境



3.8本章小结



3.9习题



第4章工厂方法模式



4.1工厂方法模式概述



4.2工厂方法模式结构与实现



4.2.1工厂方法模式结构



4.2.2工厂方法模式实现



4.3工厂方法模式应用实例



4.4反射机制与配置文件



4.5工厂方法的重载



4.6工厂方法的隐藏



4.7工厂方法模式优/缺点与适用环境



4.7.1工厂方法模式优点



4.7.2工厂方法模式缺点



4.7.3工厂方法模式适用环境



4.8本章小结



4.9习题



第5章抽象工厂模式



5.1产品等级结构与产品族



5.2抽象工厂模式概述



5.3抽象工厂模式结构与实现



5.3.1抽象工厂模式结构



5.3.2抽象工厂模式实现



5.4抽象工厂模式应用实例



5.5开闭原则的倾斜性



5.6抽象工厂模式优/缺点与适用环境



5.6.1抽象工厂模式优点



5.6.2抽象工厂模式缺点



5.6.3抽象工厂模式适用环境



5.7本章小结



5.8习题



第6章建造者模式



6.1建造者模式概述



6.2建造者模式结构与实现



6.2.1建造者模式结构



6.2.2建造者模式实现



6.3建造者模式应用实例



6.4指挥者类的深入讨论



6.5建造者模式优/缺点与适用环境



6.5.1建造者模式优点



6.5.2建造者模式缺点



6.5.3建造者模式适用环境



6.6本章小结



6.7习题



第7章原型模式



7.1原型模式概述



7.2原型模式结构与实现



7.2.1原型模式结构



7.2.2浅克隆与深克隆



7.2.3原型模式实现



7.3原型模式应用实例



7.4原型管理器



7.5原型模式优/缺点与适用环境



7.5.1原型模式优点



7.5.2原型模式缺点



7.5.3原型模式适用环境



7.6本章小结



7.7习题



第8章单例模式



8.1单例模式概述



8.2单例模式结构与实现



8.2.1单例模式结构



8.2.2单例模式实现



8.3单例模式应用实例



8.4饿汉式单例与懒汉式单例



8.5单例模式优/缺点与适用环境



8.5.1单例模式优点



8.5.2单例模式缺点



8.5.3单例模式适用环境



8.6本章小结



8.7习题



第9章适配器模式



9.1结构型模式



9.2适配器模式概述



9.3适配器模式结构与实现



9.3.1适配器模式结构



9.3.2适配器模式实现



9.4适配器模式应用实例



9.5缺省适配器模式



9.6双向适配器



9.7适配器模式优/缺点与适用环境



9.7.1适配器模式优点



9.7.2适配器模式缺点



9.7.3适配器模式适用环境



9.8本章小结



9.9习题



第10章桥接模式



10.1桥接模式概述



10.2桥接模式结构与实现



10.2.1桥接模式结构



10.2.2桥接模式实现



10.3桥接模式应用实例



10.4桥接模式与适配器模式的联用



10.5桥接模式优/缺点与适用环境



10.5.1桥接模式优点



10.5.2桥接模式缺点



10.5.3桥接模式适用环境



10.6本章小结



10.7习题



第11章组合模式



11.1组合模式概述



11.2组合模式结构与实现



11.2.1组合模式结构



11.2.2组合模式实现



11.3组合模式应用实例



11.4透明组合模式与安全组合模式



11.5组合模式优/缺点与适用环境



11.5.1组合模式优点



11.5.2组合模式缺点



11.5.3组合模式适用环境



11.6本章小结



11.7习题



第12章装饰模式



12.1装饰模式概述



12.2装饰模式结构与实现



12.2.1装饰模式结构



12.2.2装饰模式实现



12.3装饰模式应用实例



12.4透明装饰模式与半透明装饰模式



12.5装饰模式优/缺点与适用环境



12.5.1装饰模式优点



12.5.2装饰模式缺点



12.5.3装饰模式适用环境



12.6本章小结



12.7习题



第13章外观模式



13.1外观模式概述



13.2外观模式结构与实现



13.2.1外观模式结构



13.2.2外观模式实现



13.3外观模式应用实例



13.4抽象外观类



13.5外观模式优/缺点与适用环境



13.5.1外观模式优点



13.5.2外观模式缺点



13.5.3外观模式适用环境



13.6本章小结



13.7习题



第14章享元模式



14.1享元模式概述



14.2享元模式结构与实现



14.2.1享元模式结构



14.2.2享元模式实现



14.3享元模式应用实例



14.4有外部状态的享元模式



14.5单纯享元模式与复合享元模式



14.6享元模式与String类



14.7享元模式优/缺点与适用环境



14.7.1享元模式优点



14.7.2享元模式缺点



14.7.3享元模式适用环境



14.8本章小结



14.9习题



第15章代理模式



15.1代理模式概述



15.2代理模式结构与实现



15.2.1代理模式结构



15.2.2代理模式实现



15.3代理模式应用实例



15.4远程代理



15.5虚拟代理



15.6Java动态代理



15.7代理模式优/缺点与适用环境



15.7.1代理模式优点



15.7.2代理模式缺点



15.7.3代理模式适用环境



15.8本章小结



15.9习题



第16章职责链模式



16.1行为型模式



16.2职责链模式概述



16.3职责链模式结构与实现



16.3.1职责链模式结构



16.3.2职责链模式实现



16.4职责链模式应用实例



16.5纯与不纯的职责链模式



16.6职责链模式优/缺点与适用环境



16.6.1职责链模式优点



16.6.2职责链模式缺点



16.6.3职责链模式适用环境



16.7本章小结



16.8习题



第17章命令模式



17.1命令模式概述



17.2命令模式结构与实现



17.2.1命令模式结构



17.2.2命令模式实现



17.3命令模式应用实例



17.4实现命令队列



17.5记录请求日志



17.6实现撤销操作



17.7宏命令



17.8命令模式优/缺点与适用环境



17.8.1命令模式优点



17.8.2命令模式缺点



17.8.3命令模式适用环境



17.9本章小结



17.10习题



第18章解释器模式



18.1解释器模式概述



18.2文法规则和抽象语法树



18.3解释器模式结构与实现



18.3.1解释器模式结构



18.3.2解释器模式实现



18.4解释器模式应用实例



18.5解释器模式优/缺点与适用环境



18.5.1解释器模式优点



18.5.2解释器模式缺点



18.5.3解释器模式适用环境



18.6本章小结



18.7习题



第19章迭代器模式



19.1迭代器模式概述



19.2迭代器模式结构与实现



19.2.1迭代器模式结构



19.2.2迭代器模式实现



19.3迭代器模式应用实例



19.4使用内部类实现迭代器



19.5Java内置迭代器



19.6迭代器模式优/缺点与适用环境



19.6.1迭代器模式优点



19.6.2迭代器模式缺点



19.6.3迭代器模式适用环境



19.7本章小结



19.8习题



第20章中介者模式



20.1中介者模式概述



20.2中介者模式结构与实现



20.2.1中介者模式结构



20.2.2中介者模式实现



20.3中介者模式应用实例



20.4扩展中介者与同事类



20.5中介者模式优/缺点与适用环境



20.5.1中介者模式优点



20.5.2中介者模式缺点



20.5.3中介者模式适用环境



20.6本章小结



20.7习题



第21章备忘录模式



21.1备忘录模式概述



21.2备忘录模式结构与实现



21.2.1备忘录模式结构



21.2.2备忘录模式实现



21.3备忘录模式应用实例



21.4实现多次撤销



21.5备忘录模式优/缺点与适用环境



21.5.1备忘录模式优点



21.5.2备忘录模式缺点



21.5.3备忘录模式适用环境



21.6本章小结



21.7习题



第22章观察者模式



22.1观察者模式概述



22.2观察者模式结构与实现



22.2.1观察者模式结构



22.2.2观察者模式实现



22.3观察者模式应用实例



22.4JDK对观察者模式的支持



22.5观察者模式与Java事件处理



22.6观察者模式与MVC



22.7观察者模式优/缺点与适用环境



22.7.1观察者模式优点



22.7.2观察者模式缺点



22.7.3观察者模式适用环境



22.8本章小结



22.9习题



第23章状态模式



23.1状态模式概述



23.2状态模式结构与实现



23.2.1状态模式结构



23.2.2状态模式实现



23.3状态模式应用实例



23.4共享状态



23.5使用环境类实现状态转换



23.6状态模式优/缺点与适用环境



23.6.1状态模式优点



23.6.2状态模式缺点



23.6.3状态模式适用环境



23.7本章小结



23.8习题



第24章策略模式



24.1策略模式概述



24.2策略模式结构与实现



24.2.1策略模式结构



24.2.2策略模式实现



24.3策略模式应用实例



24.4JavaSE中的布局管理



24.5策略模式优/缺点与适用环境



24.5.1策略模式优点



24.5.2策略模式缺点



24.5.3策略模式适用环境



24.6本章小结



24.7习题



第25章模板方法模式



25.1模板方法模式概述



25.2模板方法模式结构与实现



25.2.1模板方法模式结构



25.2.2模板方法模式实现



25.3模板方法模式应用实例



25.4钩子方法的使用



25.5模板方法模式优/缺点与适用环境



25.5.1模板方法模式优点



25.5.2模板方法模式缺点



25.5.3模板方法模式适用环境



25.6本章小结



25.7习题



第26章访问者模式



26.1访问者模式概述



26.2访问者模式结构与实现



26.2.1访问者模式结构



26.2.2访问者模式实现



26.3访问者模式应用实例



26.4访问者模式与组合模式联用



26.5访问者模式优/缺点与适用环境



26.5.1访问者模式优点



26.5.2访问者模式缺点



26.5.3访问者模式适用环境



26.6本章小结



26.7习题



附录AUML类图



A.1UML概述



A.2类与类的UML表示



A.3类之间的关系



附录B设计模式模拟试题



B.1模拟试题一



B.2模拟试题二



B.3模拟试题三



参考文献

#现在前往

精选留言

Java,设计模式
sample
2020-07-16
写留言
签到
投稿
QQ咨询
返回顶部