A.在不破壞封裝性的前提下,捕獲一個對象的內(nèi)部狀態(tài),并在該對象之外保存這個狀態(tài)這樣以后就可將該對象恢復(fù)到原先保存的狀態(tài)
B.保證一個類僅有一個實(shí)例,并提供一個訪問它的全局訪問點(diǎn)
C.將一個請求封裝為一個對象,從而使你可用不同的請求對客戶進(jìn)行參數(shù)化;對請求排隊(duì)或記錄請求日志,以及支持可撤消的操作
D.提供一種方法順序訪問一個聚合對象中各個元素,而又不需暴露該對象的內(nèi)部表示