概述
在日常開發(fā)工作中,適當(dāng)?shù)氖褂靡恍┰O(shè)計(jì)模式,可以讓代碼擴(kuò)展性更強(qiáng),能更好地?fù)肀ё兓?,讓代碼更加優(yōu)雅。本文主要介紹設(shè)計(jì)模式中的策略模式,并附上測(cè)試示例 Demo 供大家參考。
定義
策略模式定義了一系列的算法,并將每一個(gè)算法封裝起來,而且使它們還可以相互替換。策略模式讓算法獨(dú)立于使用它的客戶而獨(dú)立變化。
個(gè)人理解
策略模式,針對(duì)那些動(dòng)作因?qū)ο蠖惖那闆r下,把每一個(gè)動(dòng)作都獨(dú)立封裝起來并實(shí)現(xiàn)同一個(gè)接口,通過組合的方式賦予對(duì)象相對(duì)應(yīng)的動(dòng)作,從而使得所有的動(dòng)作都可以相互替換。通過策略模式,可以達(dá)到在運(yùn)行時(shí)修改對(duì)象的具體動(dòng)作、對(duì)象和具體動(dòng)作之間解耦的效果。
設(shè)計(jì)原則
1)找出應(yīng)用中可能需要變化的地方,把它們獨(dú)立出來,不要和那些不需要變化的代碼混在一起;
2)面向接口編程,而不是面向?qū)崿F(xiàn)編程;
3)多用組合,少用繼承;
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26