1.定義:應用場景:讓原來不相容的兩個介面協同工作
2.分類:類介面卡、物件介面卡
3.角色:
想要使用現有的類,但這個類的介面不符合系統需要
通過介面轉換,將乙個類插入到另乙個類系中
例項:對於乙個平面上的點,我們有乙個已經存在的類(binaryplane)進行表示,類中有用於計算原點到該點模值平方的方法,如果目標介面要計算原點到該點模值,我們可以寫乙個介面卡進行轉換。
首先寫乙個目標介面
public inte***ce target
被適配類binaryplane
public class binaryplane
public double getsquaremodel()
}
介面卡類
public class adapter: binaryplane,target
}
測試類
public class test
", model);}}
執行結果:
model:5
在這個例子中,adapter類實現了target介面,繼承了binaryplane類,在介面卡這個類的內部實現了從已有的類方法到目標介面的轉化,並沒有對原先的系統進行很大的改動,僅新增了乙個介面卡,就可以使原先沒有關係的類協同工作。
1.定義:主要將資料結構與資料操作分離。應用場景:物件結構中物件對應的類很少改變,但經常需要在此物件結構上定義新的操作。2.角色:
visit介面
public inte***ce visitor
元素抽象類
public abstract class inschool
訪問者實現1
public class managervisitor : visitor
", teacher.name);
}public void visit(student student)
+grades:", student.name, student.examgrades);}}
訪問者實現2
public class headmastervisitor : visitor
+kpi:", teacher.name, teacher.kpi);
}public void visit(student student)
", student.examgrades);}}
具體元素類1
public class teacher:inschool
public override void accept(visitor visitor)
}
具體元素類2
public class student : inschool
public override void accept(visitor visitor)
}
測試類
public class test
}
執行結果
設計模式學習筆記 設計原則
設計模式是一套物件導向的 設計經驗總結,是在程式設計領域被反覆使用,被多數人知曉,而且經過分類整理的 設計方法。使用設計模式是為了可重用 讓 更容易被他人理解 保證 可靠性。1設計原則 六大設計原則 單一職責原則,黎克特制代換原則,開放 封閉原則,依賴倒轉原則,合成 聚合復用原則,迪公尺特法則 單一...
設計模式 學習筆記之設計原則
這好像是我第一次開始寫部落格,還是有點激動的,俗話說的好,好記性不如爛筆頭,更何況我的記性還不好,所以我決定在學習設計模式的同時,將其中自己認為重要的知識點記錄下來,讓以後自己回頭查詢知識點的時候能更快一些。首先,講一講設計原則。設計原則詳解 設計模式存在的根本原則是為了 的復用,增加可維護性。有如...
設計模式學習 設計原則
單一職責原則 就乙個類而言,應該僅有乙個引起他變化的原因 如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或者抑制這個類完成其他職責的能來,這種耦合會導致脆弱的設計,當變化發生時,設計會遭受意想不到的破壞 如果你能想到多於乙個的動機去改變乙個類,那麼這個類就具有多餘乙個...