黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java jdk中包含哪些設(shè)計(jì)模式

Java jdk中包含哪些設(shè)計(jì)模式

更新時(shí)間:2020-06-16 13:10:42 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2528次

在JDK(Java Development Kit)類庫中,開發(fā)人員使用了大量設(shè)計(jì)模式,正因?yàn)槿绱耍覀兛梢栽诓恍薷腏DK源碼的前提下開發(fā)出自己的應(yīng)用軟件,本文列出了部分JDK中的模式應(yīng)用實(shí)例,有興趣的同學(xué)可以深入研究,看看前Sun公司的開發(fā)人員是如何在實(shí)際框架開發(fā)中運(yùn)用設(shè)計(jì)模式的,Sunny認(rèn)為,研究JDK類庫中的模式實(shí)例也不失為學(xué)習(xí)如何使用設(shè)計(jì)模式的一個(gè)好方式。

Java jdk中包含哪些設(shè)計(jì)模式

創(chuàng)建型模式:

(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(所有g(shù)etXXX()方法)

•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

•java.lang.Appendable的所有實(shí)現(xiàn)類

(3)工廠方法模式(Factory Method)

•java.lang.Object#toString()(在其子類中可以覆蓋該方法)

•java.lang.Class#newInstance()

•java.lang.Integer#valueOf(String)(Boolean,Byte,Character,Short,Long,Float和Double與之類似)

•java.lang.Class#forName()

•java.lang.reflect.Array#newInstance()

•java.lang.reflect.Constructor#newInstance()

(4)原型模式(Prototype)

•java.lang.Object#clone()(支持淺克隆的類必須實(shí)現(xiàn)java.lang.Cloneable接口)

(5)單例模式(Singleton)

•java.lang.Runtime#getRuntime()

•java.awt.Desktop#getDesktop()

結(jié)構(gòu)型模式:

(1)適配器模式(Adapter)

•java.util.Arrays#asList()

•javax.swing.JTable(TableModel)

•java.io.InputStreamReader(InputStream)

•java.io.OutputStreamWriter(OutputStream)

•javax.xml.bind.annotation.adapters.XmlAdapter#marshal()

•javax.xml.bind.annotation.adapters.XmlAdapter#unmarshal()

(2)橋接模式(Bridge)

•AWT(提供了抽象層映射于實(shí)際的操作系統(tǒng))

•JDBC

(3)組合模式(Composite)

•javax.swing.JComponent#add(Component)

•java.awt.Container#add(Component)

•java.util.Map#putAll(Map)

•java.util.List#addAll(Collection)

•java.util.Set#addAll(Collection)

(4)裝飾模式(Decorator)

•java.io.BufferedInputStream(InputStream)

•java.io.DataInputStream(InputStream)

•java.io.BufferedOutputStream(OutputStream)

•java.util.zip.ZipOutputStream(OutputStream)

•java.util.Collections#checked[List|Map|Set|SortedSet|SortedMap]()

(5)外觀模式(Facade)

•java.lang.Class

•javax.faces.webapp.FacesServlet

(6)享元模式(Flyweight)

•java.lang.Integer#valueOf(int)

•java.lang.Boolean#valueOf(boolean)

•java.lang.Byte#valueOf(byte)

•java.lang.Character#valueOf(char)

(7)代理模式(Proxy)

•java.lang.reflect.Proxy

•java.rmi.*

行為型模式:

(1)職責(zé)鏈模式(Chain of Responsibility)

•java.util.logging.Logger#log()

•javax.servlet.Filter#doFilter()

(2)命令模式(Command)

•java.lang.Runnable

•javax.swing.Action

(3)解釋器模式(Interpreter)

•java.util.Pattern

•java.text.Normalizer

•java.text.Format

•javax.el.ELResolver

(4)迭代器模式(Iterator)

•java.util.Iterator

•java.util.Enumeration

(5)中介者模式(Mediator)

•java.util.Timer(所有scheduleXXX()方法)

•java.util.concurrent.Executor#execute()

•java.util.concurrent.ExecutorService(invokeXXX()和submit()方法)

•java.util.concurrent.ScheduledExecutorService(所有scheduleXXX()方法)

•java.lang.reflect.Method#invoke()

(6)備忘錄模式(Memento)

•java.util.Date

•java.io.Serializable

•javax.faces.component.StateHolder

(7)觀察者模式(Observer)

•java.util.Observer/java.util.Observable

•java.util.EventListener(所有子類)

•javax.servlet.http.HttpSessionBindingListener

•javax.servlet.http.HttpSessionAttributeListener

•javax.faces.event.PhaseListener

(8)狀態(tài)模式(State)

•java.util.Iterator

•javax.faces.lifecycle.LifeCycle#execute()

(9)策略模式(Strategy)

•java.util.Comparator#compare()

•javax.servlet.http.HttpServlet

•javax.servlet.Filter#doFilter()

(10)模板方法模式(Template Method)

•java.io.InputStream,java.io.OutputStream,java.io.Reader和java.io.Writer的所有非抽象方法

•java.util.AbstractList,java.util.AbstractSet和java.util.AbstractMap的所有非抽象方法

•javax.servlet.http.HttpServlet#doXXX()

(11)訪問者模式(Visitor)

•javax.lang.model.element.AnnotationValue和AnnotationValueVisitor

•javax.lang.model.element.Element和ElementVisitor

•javax.lang.model.type.TypeMirror和TypeVisitor

Java jdk中包含哪些設(shè)計(jì)模式

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java jdk中包含哪些設(shè)計(jì)模式”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 看真人视频a级毛片 | 在线视频a | 色综合久久88色综合天天提莫 | 999www成人免费视频 | 亚洲永久视频 | 成人影院在线免费观看 | 黄色大片视频网站 | 高清一区二区 | 色婷婷色综合激情国产日韩 | 欧美日韩高清 | 色成人综合 | 天天色综合社区 | 男人的天堂色偷偷之色偷偷 | 午夜亚洲国产 | 高清欧美日本视频免费观看 | www久久只有这里有精品 | 亚洲福利一区二区 | 很污的视频网站 | 欧美激情一区二区三区在线 | 一级日韩一级欧美 | a级国产视频 | 亚洲另类图 | 久久国产高清视频 | 120秒男女动态视频免费 | 黄色特级网站 | 97视频免费观看 | 成人a在线观看 | 欧美性生交xxxxx久久久 | 日日碰狠狠添天天爽 | 欧美日韩美女 | 国产成人精品久久一区二区三区 | 国产精品自产拍在线观看 | 亚欧洲精品bb | 日韩一区二区不卡中文字幕 | 小明成人免费视频 | 午夜精品亚洲 | 国产日韩欧美中文 | 老头边吃奶边做边爱 | va视频 | 毛片在线全部免费观看 | 国产成人综合精品一区 |