Java設計模式三(原型模式、適配器模式)

原型模式(Prototype)java中的創建型模式,和其它創建型模式的目的一樣都是創建 出所需要的對象

原型模式的定義:

         是用原型實例指定創建對象的種類,並且通過拷貝這些原型創建新的對象。

         由定義可以分析出使用原型模式的前提是有一個待被拷貝的對象,新的對象是以被創建的對象爲基礎clone()而來的,而不需要考慮被創建對象的創建過程。

  使用原型模式要知道克隆的概念:

   Java中克隆分爲深克隆和淺克隆

        1、淺克隆:被複制對象的所有變量都含有與原來的對象相同的值,而所有的對象對其他對象的引用任然指向原來的對象。換言之,淺克隆僅僅複製所考慮的對象,而不是複製它所引用的對象。(繼承自java.lang.Object類的clone()方法是淺克隆)

        例如:有一個對象a,a有“String name”屬性且創建時值爲“namea”,當對a進行淺克隆獲取對象b,這時候把b的name屬性值改爲“nameb”,當我們打印a、b兩個對象的屬性時會發現對b的修改對a沒有影響。

         2、深克隆:被複制的對象的所有變量都含有與原來的對象相同的值,除去那些引用其他對象的變量。那些引用其他對象的變量將指向被複制過的新對象,兒不再是原有的那些被引用的對象。換言之,深複製把要複製的對象所引用的對象都複製了一遍。

         詳解可以參考(http://www.jb51.net/article/62909.htm、http://www.cnblogs.com/yxnchinahlj/archive/2010/09/20/1831615.html)

         示例參考(http://baike.so.com/doc/5904119-6117020.html)

*******************************************************************************************************************************************************************************************

適配器模式

    適配器模式也稱爲轉換器模式、變壓器模式或包裝模式

    著名的設計模式“四人幫”這樣評價適配器模式:將一個類的接口轉換成客戶希望的另外一個接口。Adapter模式使得原本由於接口不兼容而不能一起工作的那些類能夠一起工作,做法是將類自己的接口包裹在一個已存在的類中。

   適配器的設計模式主要目的組合兩個不相干的類,常用的兩種方法,第一種解決方案是修改各自類的接口,但是如果沒有源碼,或者不願意爲了一個應用而修改各自的接口,則需要使用適配器模式,在兩種接口之間創建一個混合接口。

   

   適配器模式中的角色

   目標接口(Target):客戶所期待的接口。目標可以是具體的或抽象的類,也可以是接口

   需要適配的類(Adaptee):需要適配的類或者適配着類

   適配器(Adapter):通過包裝一個需要適配的對象,把原接口裝換成目標接口


在android 中適配器非常常用:ListView與Adapter的應用就是典型的適配器模式。

   把Adapter通過轉換變爲ListView所需要的另一種接口,從而通過Adapter把ListView與數據相結合,展示出來 

    參考(http://blog.csdn.net/tianfeng701/article/details/8775225)













發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章