国产探花免费观看_亚洲丰满少妇自慰呻吟_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層啊,總是有很多通用的東西,這個時候,就可以抽象出來。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沅江市| 蛟河市| 鄢陵县| 黄梅县| 武川县| 枣庄市| 万载县| 孝义市| 淳化县| 文登市| 镇宁| 普格县| 台安县| 遵义市| 南投县| 鄂托克前旗| 通渭县| 吉安县| 鹤山市| 资源县| 重庆市| 寿阳县| 益阳市| 安阳县| 启东市| 香港 | 婺源县| 新乐市| 达拉特旗| 浙江省| 崇礼县| 玉溪市| 通化市| 延川县| 无极县| 黑山县| 丰台区| 南通市| 宁津县| 石城县| 望都县|