學習筆記 設計原則和設計模式(1) 2020 6

2021-10-07 09:28:08 字數 2000 閱讀 1838

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設計原則 六大設計原則 單一職責原則,黎克特制代換原則,開放 封閉原則,依賴倒轉原則,合成 聚合復用原則,迪公尺特法則 單一...

設計模式 學習筆記之設計原則

這好像是我第一次開始寫部落格,還是有點激動的,俗話說的好,好記性不如爛筆頭,更何況我的記性還不好,所以我決定在學習設計模式的同時,將其中自己認為重要的知識點記錄下來,讓以後自己回頭查詢知識點的時候能更快一些。首先,講一講設計原則。設計原則詳解 設計模式存在的根本原則是為了 的復用,增加可維護性。有如...

設計模式學習 設計原則

單一職責原則 就乙個類而言,應該僅有乙個引起他變化的原因 如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或者抑制這個類完成其他職責的能來,這種耦合會導致脆弱的設計,當變化發生時,設計會遭受意想不到的破壞 如果你能想到多於乙個的動機去改變乙個類,那麼這個類就具有多餘乙個...