Template Method模式與Strategy模式的理解
* Strategu模式,把公用方法抽象成介面
* @author paul
* @date 2006-8-9
*/publicabstractclass Beverage {
/**
* 業務邏輯的實現,final確保不被子類 改變
* prepareRecipe void
* 2006-8-9 16:00:57
*/finalvoid prepareRecipe() {
boilWater();
brew();
pourInCup();
addCondiments();
}
private ActionInDrinking action;
action.brew();
}
publicvoid addCondiments(){
this.action.addCondiments();
}
//protected abstract void brew();
//abstract void addCondiments();void boilWater() {
System.out.println("Boiling water");
}
void pourInCup() {
System.out.println(
}
public ActionInDrinking getAction() {
return action;
}
publicvoid setAction(ActionInDrinking action) {
this.action = action;
}
}
/////////////////////////////////////////////////////////////publicinterface ActionInDrinking {
publicvoid brew();
publicvoid addCondiments();
}
publicclass TeaDrink implements ActionInDrinking {
super();
// TODO Auto-generated constructor stub }
publicvoid brew() {
// TODO Auto-generated method stub
// steeping tea }
publicvoid addCondiments() {
// TODO Auto-generated method stub
}
}
相關推薦
Template Method模式與Strategy模式的理解
/** * Strategu模式,把公用方法抽象成介面 * @author paul * @date 2006-8-9 */publicabstractclass Beverage { /** * 業務邏輯的實現,final確保不被子類 改變 * prepareRecipe void
Template Method模式和Strategy模式:繼承與委託
Themeplate Method public abstract class Application { protected abstract void init(); protected abstract void idle(); protected abstra
Template Method模式和Strategy模式有何異同
Template Method模式很容易理解,就是由基類提供一個模板,將各子類中不變的行為提取到基類中實現,而各子類中可變的行為則由各子類自己重寫基類方法實現. Strategy則是在使用策略模式的應用例項內部維護一個策略例項,針對不同的子類用不同的策略實現. 來看看兩者的程式碼實現: Templat
Template Method - 模板方法模式
本文介紹設計模式中的模板方法(Template Method)模式的概念,用法,以及實際應用中怎麼樣使用Template Method模式進行開發。Template Method模式的概念 Template Method模式正如其名,在作為抽象類的父類裡,定義了一個具有固定演算法並可以細分為多個步驟的模板方法
設計模式之 Template Method - 模板方法模式
本文介紹設計模式中的模板方法(Template Method)模式的概念,用法,以及實際應用中怎麼樣使用Template Method模式進行開發。Template Method模式的概念 Template Method模式正如其名,在作為抽象類的父類裡,定義了一個具有固定演算法並可以細分為多個步驟的模板方法
設計模式19:Template Method Pattern (模板方法模式)
Define:Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template Method lets subclasses redefine c
關於FTP主動模式與被動模式的一點理解
又一次面試的時候,面試像這樣問我:請簡述FTP的主動模式與被動模式的區別?FTP這玩意不是天天都要用到的麼,看起來這麼簡單的問題我居然回答不上來,好尷尬!經過幾天的思考與理解,終於有點眉目,拙見讓諸位見笑了。 主動模式中FTP的客戶端傳送 PORT 命令到FTP伺服器。被動
設計模式--Template模式 VS Strategy模式
Template 模式和Strategy模式所要解決的問題類似,而且通常可以互換使用。 Template模式使用繼承來解決問題。 Strategy模式使用委託來解決問題。 如圖1:template 模式:基類 BubbleSorter實現了通用演算法sort, IntBu
交給子類: Template Method(模板方法模式)【PHP】
pri align 子類 特定 itl area 圖結構 -a abs Template Method(模板方法模式) ---- 將具體處理交給子類 Template Method 就是定義一個操作中的算法骨架,而將一些步驟延遲到子類中,使得子類可以不改變一個算法
AMD模式與CMD模式
提前 角度 處理方式 沒有 全局 div 模塊 多個 amd AMD模式與CMD模式區別 1. 對於依賴的模塊,AMD 是提前執行,CMD 是延遲執行。不過 RequireJS 從 2.0 開始,也改成可以延遲執行(根據寫法不同,處理方式不同)。CMD 推崇 as l
[CentOS 7系列]VIM編輯模式與命令模式
用戶 mtime 一、編輯模式按鍵作用i在當前字符前插入I在光標所在行的行首插入a在當前字符後插入A在光標所在行的行尾插入o在當前行的下一行插入新的一行O在當前的上一行插入新的一行二、命令模式命令作用/word向光標之後查找一個字符word,按n向後繼續搜索?word向光標之前查找一個字符word,按
Linux 修改root密碼 單用戶模式與救援模式
linux 密碼修改 單用戶模式 救援模式單用戶模式重啟Linux進入GRUB界面在系統啟動界面,例如 選擇第一項,並按e鍵,進入edit界面,找到linux16開頭的行,將光標移至ro處,將ro修改為rw init=/sysroot/bin/sh 按Ctrl+X鍵啟動啟動後進入如下所示界面,先
瀏覽器標準模式與怪異模式-CSS1Compat and BackCompat
方法 set code frameset http ctype nal cnblogs 16px 由於歷史的原因,各個瀏覽器在對頁面的渲染上存在差異,甚至同一瀏覽器在不同版本中,對頁面的渲染也不同。在W3C標準出臺以前,瀏覽器在對頁面的渲染上沒有統一規範,產生了差
Outlook 2013連接到Office 365時緩存模式與聯機模式下的流量問題
office 365 outlook 2013 exchange 緩存模式 最近在遷移Office 365時,碰到一個流量居高不下,帶寬不夠用的問題,環境如下:Office 365 E5訂閱國際版,用戶端使用Outlook2013連接O365郵箱,600用戶,50M Office365專用帶寬,當
混雜模式與標準模式總結
mod 默認 內容 也會 XML 使用 聲明 doc 參考 1 區分模式的意義? IE5.5引入了文檔模式的概念,通過使用DOCTYPE實現模式切換,它的主要作用是告訴瀏覽器以哪種模式呈現,如何解析文檔,也就是說兩種模式主要影響CSS內容的呈現,某些情況下也會影響JavaS
實模式與保護模式
虛擬存儲器 有效 偏移 進程 代碼 訪問權限 描述符 兼容 ont 1. 實模式,又叫實地址模式,CPU完全按照8086的實際尋址方法訪問從00000h--FFFFFh(1MB大小)的地址範圍的內存,在這種模式下,CPU只能做單任務運行;尋址公式為:物理地址=左移4位的段
zabbix主動模式與被動模式、添加監控主機、添加自定義模板
Linux學習筆記zabbix主動模式與被動模式 添加監控主機 添加自定義模板 1.將原來的模板下載下來,刪除自己不需要的,導入時要更改名字。 2.創建一個鏈接的模板,取消鏈接後,在刪除模板中不想要的選項。 處理圖形中的亂碼 zabbix主動模式與被動模式、添加監控主機、添加自定義模板
【轉】策略模式與命令模式區別
區別 相同 策略模式 菜單 nbsp 之間 mman 變化 排隊 策略模式 把易於變化的行為分別封裝起來,讓它們之間可以互相替換, 讓這些行為的變化獨立於擁有這些行為的客戶。GoF《設計模式》中說道:定義一系列算法,把它們一個個封裝起來,並且使它們可以相互替換。該模式使得算
孿生兄弟狀態模式與策略模式有什麽區別,究竟該如何選擇
一段 如何解決 影片 工作 設置 飛機 等等 gety 兩種 都說狀態模式和策略模式很像,它們的 UML 類圖一樣。這也說明,單純從代碼角度來講,它們的本質一樣,其實都是多態的應用。但它們實際所代表的的事物特征是有本質區別的,選擇哪個設計模式,代表了你看待業務場景的角度。從
標準模式與混雜模式
DOCTYPE 的一個重要作用就是告訴瀏覽器,它該以何種模式呈現。 我們通過document.compatMode這個屬性來檢測,當前頁面處於何種模式: CSS1Compat:標準模式 BackCompat:混雜模式 那麼,問題來了,什麼情況下頁面會處於混雜模式呢?