和经理讨论下了关于模式的学习,也反馈自己的掌握模式的程度。
单单举一个java.lang.Boolean类里具体用到了哪些设计模式?
分析列举下:
1.Singleton
必然用到了Singleton,查看下API,原来一个变种的Singleton,有两个对象TRUE和FALSE,是两个,而不是一个,但思路是一样的,就有人把多例也算作一个独立的模式。 只要你调用valueOf来构建Boolean,那jvm里就永远不会有超过2个Boolean的实例。这也是单例的一个思想出发点。
2.Adapter
从设计思路上出发,Boolean就是对基本数据类型boolean的封装,典型的Adapter的思想
从具体的实现功能出发,Boolean实现了Comparable
<Boolean
> 接口,而Comparable 接口主要是为了用于集合中的对象排序,也就是说如果Boolean对象实例如果要进行比较的话,必然要实现这个接口,也就是说,如果现有排序算法,我新创建的类,如果用使用已有的排序算法,那我就得对我的类做适配,实现排序算法要求的接口。
3.Factory
Boolean里有这个方法
valueOf(boolean b)
// Returns a Boolean instance representing the specified boolean value.
valueOf(String s)
// Returns a Boolean with a value represented by the specified String.
Boolean.valueOf() 是典型的Factory 的应用了。
4.immutable
这个可以认为是常说的23种模式之外的,但是看到final这个关键字,可以知道这个Boolean的实例永远不会变化了,所以这个也算是用到的一种模式
5.Builder
Builder和factory都是为了创建对象的过程和对象组件之间的解耦,中间的界限也比较模糊。
同时Boolean有这个方法
parseBoolean(String s)
// Parses the string argument as a boolean.
parse本身的动作是为了将一个对象转变为另外一个对象,属于注重创建的过程,所以builder模式也可以放在这里
从一个简单的类里都可以找到这么多的设计思想,可见OO的思想确实还是无处不在的。
设计模式充斥在JDK的各个角落,锻炼自己识别设计模式的能力才能增强自己设计掌握设计模式的能力,看来确实需要多看看jdk 的API了
分享到:
相关推荐
资料java温习资料实用教案.pptx
资料java温习资料PPT学习教案.pptx
包含 Java面向对象、Java基础类库、JDBC数据库访问、Web编程Jsp&Servlet、Hibernate持久层、iBatis持久层、Structs界面控制层、JSF界面控制层、Spring应用框架、Ejb、WebService技术、J2EE模式等其他Java相关开发...
Java自学练习题 适合自学或重新温习Java 题目有难有易
温习java反射,让你对反射有全新的认识(csdn)————程序
HKSI PAPER1香港证券期货从业考试温习手册卷一.pdf
Java 基础 PPT 温习很实用 网上收藏的
Java程序设计标准教程,很实用,很适合初学者以及需要温习JAVA的朋友。
PAPER1卷一温习手册V3.4版下载 PAPER1卷一温习手册V3.4版下载 PAPER1卷一温习手册V3.4版下载 PAPER1卷一温习手册V3.4版下载 PAPER1卷一温习手册V3.4版下载 PAPER1卷一温习手册V3.4版下载 PAPER1卷一温习手册V3.4版...
JAVA 常用的API函数,多多温习,增加自己的API知识量
对《疯狂JAVE讲义》一书的知识点的浓缩,可以做为温习JAVA的随身必备资料。
HKSI Paper 1 60个温习重点.pdf
PAPER7卷七温习手册V3.3版下载 PAPER7卷七温习手册V3.3版下载 PAPER7卷七温习手册V3.3版下载 PAPER7卷七温习手册V3.3版下载 PAPER7卷七温习手册V3.3版下载 PAPER7卷七温习手册V3.3版下载 PAPER7卷七温习手册V3.3版...
PAPER6卷六温习手册V2.6版下载 PAPER6卷六温习手册V2.6版下载 PAPER6卷六温习手册V2.6版下载 PAPER6卷六温习手册V2.6版下载 PAPER6卷六温习手册V2.6版下载 PAPER6卷六温习手册V2.6版下载 PAPER6卷六温习手册V2.6版...
对于初学java以及JAVA高手温习JAVA基础是一本难得的资料,特发过来,供大家分享。 二、资源说明 第1章 java语言概述 1.1 HelloWorldApp程序 1.2 HelloWorld小应用程序 1.3 编译和运行HelloWorld 1.4 温度转换程序 ...
名师温习专题总温习宇宙航行提高.docx
使用批处理可以完成很多系统操作,在dos系统盛行时为使用鼎盛时期!
今天重新温习java书籍,看到面向对象章节,为了更好的理解面向对象含义,特意写了这样一个小程序,希望与大家分享
工作一段时间了,但回过头来看看java,基础的东西知道的太少了,很多东西模模糊糊,甚至记不起来,现在开始重新开始学习java,并做下笔记,自己温习的同时给有需要的人(连载。。。持续未完。。。。)
J2EE学习以及Linux组件学习的日常总结,适合想了解和温习基础知识的童鞋。目前计划包含的内容有设计模式、Spri