国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

(六)模板方法模式

2019-11-08 20:22:15
字體:
來源:轉載
供稿:網友

模板方法模式是類的行為模式。準備一個抽象類,將部分邏輯以具體方法以及具體構造函數的形式實現,然后聲明一些抽象方法來迫使子類實現剩余的邏輯。不同的子類可以以不同的方式實現這些抽象方法,從而對剩余的邏輯有不同的實現。這就是模板方法模式的用意。

簡單的說,就是把公用的一些東西放到父類,留下鉤子函數,讓子類去實現自己獨特的地方。

這里寫圖片描述

Refit:抽象父類,封裝了一些公用方法HomeCar:子類,只需要實現自己獨特的方法

還是改裝車的例子,可以參考裝飾模式的故事情節

我現在想改裝三輛車,這三輛車只要車身顏色噴成不一樣的,其他都一樣,那么可以這么做

抽象父類,把所有的改裝都封裝起來,把噴顏色改成鉤子函數

public abstract class Refit { PRivate void baoxiangang(){ System.out.println("加裝防撞鋼梁"); } private void jiaopan(){ System.out.println("加裝拖車絞盤"); } private void tanzhaodeng(){ System.out.println("假裝探照燈"); } private void jianzhen(){ System.out.println("更換減震套裝,提高地盤高度"); } protected abstract void colour(); protected void getJeepCar(){ baoxiangang(); jiaopan(); colour(); tanzhaodeng(); jianzhen(); }}

子類

public class HomeCar extends Refit { @Override protected void colour() { System.out.println("我要噴成紅色"); } public static void main(String[] args) { HomeCar homeCar = new HomeCar(); homeCar.getJeepCar(); }}

模板方法,無疑可以少些很多代碼,像什么controller層啊,service層啊,facade層啊,總是有很多通用的東西,這個時候,就可以抽象出來。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿合奇县| 安溪县| 阜康市| 康乐县| 涞源县| 志丹县| 普安县| 静海县| 蕲春县| 叙永县| 三原县| 邢台市| 晋中市| 西城区| 日喀则市| 泾川县| 寿宁县| 河东区| 乌鲁木齐市| 西安市| 巴彦淖尔市| 南岸区| 庆阳市| 栾城县| 图片| 永年县| 沙河市| 宣化县| 留坝县| 忻城县| 文登市| 固始县| 阳江市| 博兴县| 同德县| 清流县| 武山县| 宁远县| 英德市| 宜春市| 新密市|