jdk哪些體現了命令模式?
1、單例模式
作用:保證類只有一個實例。
JDK中體現:Runtime類。
2、靜態工廠模式
作用:代替構造函數創建對象,方法名比構造函數清晰。
JDK中體現:Integer.valueOf、Class.forName
3、抽象工廠
作用:創建某一種類的對象。
JDK中體現:Java.sql包。
4、原型模式
clone();
原型模式的本質是拷貝原型來創建新的對象,拷貝是比new更快的創建對象的方法,當需要大批量創建新對象而且都是同一個類的對象的時候考慮使用原型模式。
一般的克隆只是淺拷貝(對象的hash值不一樣,但是對象里面的成員變量的hash值是一樣的)。
有些場景需要深拷貝,這時我們就要重寫clone方法,以ArrayList為例:
5、適配器模式
作用:使不兼容的接口相容。
JDK中體現:InputStream、OutputStream。
6、裝飾器模式
作用:為類添加新的功能,防止類繼承帶來的類爆炸。
JDK中體現:io類、Collections、List。
7、外觀模式
作用:封裝一組交互類,一直對外提供接口。
JDK中體現:logging包。
8、享元模式
作用:共享對象、節省內存。
JDK中體現:Integer.valueOf、String常量池。
9、代理模式
作用:
(1)透明調用被代理對象,無須知道復雜實現細節;
(2)增加被代理類的功能;
JDK中體現:動態代理。
10、迭代器模式
作用:將集合的迭代和集合本身分離。
JDK中體現:Iterator
11、命令模式
作用:封裝操作,使接口一致。