1
《Java 设计模式》课后习题参考答案
教材:刘伟. Java 设计模式. 北京: 清华大学出版社, 2018.
ISBN: 9787302488316
【说明:本答案供参考,如有意见或建议,请通过电子邮箱 weiliu_china@126.com 与作者
联系!】
第 1 章 设计模式概述
1. D
2. C
3. B
4. 参见教材 P5。
5. 参见教材 P6-P7。
6. 参见教材 P9-P10。
7. 反模式(AntiPatterns)是指那些导致开发出现障碍的负面模式,即在软件开发中普遍存在、
反复出现并会影响到软件成功开发的不良解决方案。反模式是关注于负面解决方案的软件研
究方向,揭示出不成功系统中存在的反模式有利于在成功系统中避免出现这些模式,有助于
降低软件缺陷和项目失败出现的频率。反模式清晰定义了大部分人在软件开发过程中经常会
犯的一些错误,根据视角的不同,可分为开发性反模式、架构性反模式和管理性反模式。
8. JDK 中部分设计模式使用示例列举如下:
创建型模式:
(1) 抽象工厂模式(Abstract Factory)
• java.util.Calendar#getInstance()
• java.util.Arrays#asList()
• java.util.ResourceBundle#getBundle()
• java.net.URL#openConnection()
• java.sql.DriverManager#getConnection()
• java.sql.Connection#createStatement()
• java.sql.Statement#executeQuery()
• java.text.NumberFormat#getInstance()
• java.lang.management.ManagementFactory (所有 getXXX()方法)
• java.nio.charset.Charset#forName()
• javax.xml.parsers.DocumentBuilderFactory#newInstance()
• javax.xml.transform.TransformerFactory#newInstance()
• javax.xml.xpath.XPathFactory#newInstance()
(2) 建造者模式(Builder)
• java.lang.StringBuilder#append()
• java.lang.StringBuffer#append()
• java.nio.ByteBuffer#put() (CharBuffer, ShortBuffer, IntBuffer, LongBuffer, FloatBuffer 和
DoubleBuffer 与之类似)
• javax.swing.GroupLayout.Group#addComponent()
• java.sql.PreparedStatement