第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

設(shè)計(jì)模式之—模版方法模式

標(biāo)簽:
Java 設(shè)計(jì)

1.模版方法的定义

模版方法的英文定义为:

Template Method Pattern: Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm’s structure.

翻译过来的意思是:

模板方法模式:定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。

这种模式在我们开发中经常会用到,一个简单的例子,我们在抽象类中定义若干个基本的操作,在具体的实现类中定义模版方法对基本方法实现聚合。这种实现方式就可以称为模版方法模式

2.模版方法通用模版

对于程序员来说,一天的工作中有很多个基本的工作项目组成,其中包括:签到、早会、需求讨论、功能开发、链调、午饭、bug修复等几项基本工作内容组成。而对于每一个人每天的工作流程又是不一样的,针对此功能,可以设计出以下类图:
https://img1.sycdn.imooc.com//5b8a00ef0001d5b816340806.jpg

基本方法:

其中签到、早会等基本工作项

模版方法:

模版方法为基本方法的不同组合,从而完成不同的逻辑,可以针对不同的组合定义不同的模版类,也可以在同一个类中实现不同的组合。

代码如下:

public abstract class WorkAbstractService {    protected void sign(){        //签到
    }    protected void morningMeeting(){        //早会
    }    protected void requirementsDiscussion(){        //需求讨论
    }    protected void develop(){        //功能开发
    }    protected void eat(){        //午饭
    }    protected void debug(){        //联调
    }    protected void fixBug(){        //修复bug
    }
}public class WorkServiceImpl extends WorkAbstractService{    public void workFlow1(){        //签到-早会-需求讨论-午饭-开发-联调-修复bug
        sign();
        morningMeeting();
        requirementsDiscussion();
        eat();
        develop();
        debug();
        fixBug();
    }    public void workFlow2(){        //签到-需求讨论-开发-午饭-联调-修复bug
        sign();
        requirementsDiscussion();
        develop();
        eat();
        develop();
        fixBug();
    }

}

3.模版方法的优缺点

优点:

1.封装不变部分,扩展可变部分
2.提取公共功能部分,便于维护

4.模版方法的使用场景

1.多个子类有公共的方法,并且逻辑基本相同
2.重构的时候,模版方法是一个经常使用的模式,把相同的代码提取到父类中,然后通过钩子函数约束其行为。

原文出处:https://www.cnblogs.com/vitasyuan/p/9538249.html

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消