中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

山東新華電腦學(xué)院學(xué)網(wǎng)站開發(fā)如何制作一個(gè)自己的網(wǎng)頁網(wǎng)站

山東新華電腦學(xué)院學(xué)網(wǎng)站開發(fā),如何制作一個(gè)自己的網(wǎng)頁網(wǎng)站,網(wǎng)站建設(shè)公司在線qq客服代碼,怎樣做網(wǎng)站優(yōu)化 關(guān)鍵詞作為一名程序員,你一定遇到或親自寫過這樣的代碼。有人將它形象的形容為shi山,或者被戲稱為“面向保就業(yè)編程”。 以下面這個(gè)代碼為例,其中的問題也顯而易見,當(dāng)越來越多的條件判斷時(shí),代碼會(huì)變得非常臃腫,難…

作為一名程序員,你一定遇到或親自寫過這樣的代碼。有人將它形象的形容為shi山,或者被戲稱為“面向保就業(yè)編程”。

image-20240109224714584

以下面這個(gè)代碼為例,其中的問題也顯而易見,當(dāng)越來越多的條件判斷時(shí),代碼會(huì)變得非常臃腫,難以維護(hù)。

    String mediaType = "blogger";if ("lxf".equals(mediaType)) {System.out.println("廖雪峰");} else if ("JavaPub".equals(mediaType)) {System.out.println("知名博主");} else if ("msb".equals(mediaType)) {System.out.println("馬士兵");}...

image-20240109224734174

解決

怎么辦呢?

首先想到的一定是使用三目運(yùn)算符,但是問題也顯而易見,不能處理過多的情況。

    int price = condition?80:100;

還有什么辦法呢,枚舉定義、合并查詢條件、java8 新特性 Optional 等等,但是這些方法都治標(biāo)不治本。當(dāng)判斷多了起來,還是會(huì)變得臃腫。

策略模式

接下來就講一下今天的推薦方案,策略模式。

你一定不要排斥這種設(shè)計(jì)模式,簡單來看其實(shí)很簡單。

策略模式是一種行為設(shè)計(jì)模式,它允許你定義一系列算法,并將每種算法分別放入獨(dú)立的類中,以使算法的對象能夠相互替換。這句話可能有點(diǎn)繞,我們來看一個(gè)具體的例子。

首先,我們把每個(gè)條件邏輯代碼塊,抽象成一個(gè)公共的接口,可以得到以下代碼:

    // 獲取博主信息接口public interface IMediaService {void showMedia();}

我們根據(jù)每個(gè)邏輯條件,定義相對應(yīng)的策略實(shí)現(xiàn)類,可得以下代碼:

    // LXF策略實(shí)現(xiàn)類public class LXFMediaServiceImpl implements IMediaService {@Overridepublic void showMedia() {System.out.println("廖雪峰");}}// JavaPub策略實(shí)現(xiàn)類public class JavaPubMediaServiceImpl implements IMediaService {@Overridepublic void showMedia() {System.out.println("知名博主");}}// MSB策略實(shí)現(xiàn)類public class MSBMediaServiceImpl implements IMediaService {@Overridepublic void showMedia() {System.out.println("馬士兵");}}

接下來,我們再定義策略工廠類,用來管理這些博主信息實(shí)現(xiàn)策略類,如下:

    // 博主信息服務(wù)工產(chǎn)類public class MediaServicesFactory {private static final Map<String, IMediaService> map = new HashMap<>();static {map.put("lxf", new LXFMediaServiceImpl());map.put("JavaPub", new JavaPubMediaServiceImpl());map.put("msb", new MSBMediaServiceImpl());}public static IMediaService getMediaService(String mediaType) {return map.get(mediaType);}}

使用了策略+工廠模式之后,代碼變得簡潔多了,如下:

    public class Test {public static void main(String[] args) {String mediaType = "JavaPub";IMediaService mediaService = MediaServicesFactory.getMediaService(mediaType);mediaService.showMedia();}}

看到這里,是不是很簡單。

這樣的好處也顯而易見,就是可以靈活的切換不同的博主信息,比如:

  • 我想看JavaPub的信息,只需要將mediaType設(shè)置為JavaPub即可。
  • 我想看馬士兵的信息,只需要將mediaType設(shè)置為msb即可。
http://www.risenshineclean.com/news/51779.html

相關(guān)文章:

  • 網(wǎng)站制作的報(bào)價(jià)大約是多少香港疫情最新情況
  • 寧波seo網(wǎng)站建設(shè)費(fèi)用企業(yè)推廣平臺(tái)
  • o2o商城網(wǎng)站建設(shè)供應(yīng)可以直接進(jìn)入的輿情網(wǎng)站
  • 手機(jī)app設(shè)計(jì)網(wǎng)站沈陽seo搜索引擎
  • 網(wǎng)站域名備案密碼seo產(chǎn)品優(yōu)化免費(fèi)軟件
  • 買2g 空間做下載網(wǎng)站網(wǎng)頁制作軟件dw
  • 網(wǎng)站建設(shè)中的需求報(bào)告功能企業(yè)策劃書
  • 網(wǎng)站banner圖的作用公司網(wǎng)站與推廣
  • seo排名技術(shù)教程seo排名軟件價(jià)格
  • 做網(wǎng)站好的網(wǎng)站建設(shè)公司排名青島百度推廣優(yōu)化怎么做的
  • 網(wǎng)站域名查詢地址做百度推廣銷售怎么找客戶
  • 中山市小欖新意網(wǎng)站設(shè)計(jì)有限公司太原網(wǎng)站建設(shè)制作
  • wordpress geogebraseo刷排名工具
  • 做本地網(wǎng)站需要的軟件網(wǎng)盤資源共享群吧
  • 淘寶上做網(wǎng)站排名的是真的嗎口碑營銷案例2022
  • 前程無憂怎么做網(wǎng)站百度識圖識別
  • 合肥高端網(wǎng)站建設(shè)公司哪家好seo優(yōu)化軟件大全
  • 企業(yè)網(wǎng)站建設(shè)相關(guān)書籍windows優(yōu)化大師卸載
  • 公司怎么申請免費(fèi)做網(wǎng)站好用的搜索引擎
  • 龍?jiān)ㄔO(shè)網(wǎng)站鄭州網(wǎng)絡(luò)營銷
  • 怎樣進(jìn)入建設(shè)通網(wǎng)站怎樣做網(wǎng)站
  • 可以做展示頁面的網(wǎng)站seo推廣優(yōu)化公司哪家好
  • wordpress前臺(tái)打開慢手機(jī)端關(guān)鍵詞排名優(yōu)化軟件
  • 杭州手機(jī)軟件開發(fā)公司上海網(wǎng)站seo策劃
  • 網(wǎng)站如何做公安部備案整站優(yōu)化全網(wǎng)營銷
  • 瑞金網(wǎng)站建設(shè)互聯(lián)網(wǎng)營銷工具有哪些
  • 自己有服務(wù)器如何建設(shè)微網(wǎng)站上海疫情最新數(shù)據(jù)
  • 手機(jī)網(wǎng)站做指向谷歌搜索為什么用不了
  • 做團(tuán)購網(wǎng)站需要多少錢seo優(yōu)化排名軟件
  • 招工 最新招聘信息怎么寫seo搜索引擎優(yōu)化教程