A.使多個對象都有機會處理請求,從而避免請求的發(fā)送者和接收者之間的耦合關系 B.用原型實例指定創(chuàng)建對象的種類,并且通過拷貝這些原型創(chuàng)建新的對象 C.提供一種方法順序訪問一個聚合對象中各個元素,而又不需暴露該對象的內部表示 D.運用共享技術有效地支持大量細粒度的對象
A.將抽象部分與它的實現(xiàn)部分分離,使它們都可以獨立地變化 B.給定一個語言,定義它的文法的一種表示,并定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子 C.將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創(chuàng)建不同的表示 D.為其他對象提供一種代理以控制對這個對象的訪問
A.將一個請求封裝為一個對象,從而使你可用不同的請求對客戶進行參數(shù)化;對請求排隊或記錄請求日志,以及支持可撤消的操作 B.定義一系列的算法,把它們一個個封裝起來,并且使它們可相互替換。本模式使得算法可獨立于使用它的客戶而變化 C.為其他對象提供一種代理以控制對這個對象的訪問 D.保證一個類僅有一個實例,并提供一個訪問它的全局訪問點