定義乙個操作中的演算法框架,而將一些步驟延遲到子類中,使得子類不改變演算法的結構即可重複定義演算法的某些特點步驟
abstractclass抽象類,定義演算法結構,還可以提供通用實現
concreteclass具體實現類
優點:1、封裝不變部分,擴充套件可變部分
2、提取公共**,便於維護
3、行為由父類控制,子類實現
缺點:每乙個不同的實現都需要乙個子類來實現,導致類的個數增加,使得系統更加龐大
有多個子類共有的方法,且邏輯相同
重要的、複雜的方法,可以考慮作為模板方法
模板模式其實很簡單,無處不在
抽象遊戲類
public
abstract
class
game
}
具體實現類
public
class
playgame
extends
game
@override
void
play()
@override
void
stop()
}
測試類
public
class
test
}
MVC 架構模式
mvc架構模式 模型 檢視 控制器 model view controller 模型 模型代表應用程式的資料以及用於訪問控制和修改這些資料的業務規則,當模型發生改變時,它會通知檢視,並為檢視提供查詢模型相關狀態的能力.同時,它也為控制器提供訪問封裝在模型內部的應用程式功能的能力.檢視 檢視用來組織模...
常用架構模式
根據維基百科中的定義 架構模式是乙個通用的 可重用的解決方案,用於在給定上下文中的軟體體系結構中經常出現的問題。架構模式與軟體設計模式類似,但具有更廣泛的範圍。在本文中,將簡要地解釋以下10種常見的體系架構模式,以及它們的用法 優缺點。分層模式 客戶端 伺服器模式 主從裝置模式 管道 過濾器模式 模...
iOS MVC 架構模式
2 view 檢視物件 3 controller 控制器物件 直到進行單元測試的時候才會發現問題越來越明顯。因為你的 viewcontroller 和 view 是緊密耦合的,對它們進行測試就顯得很艱難 你得有足夠的創造性來模擬 view 和它們的生命週期,在以這樣的方式來寫 view contro...