欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue框架和前后端開(kāi)發(fā)詳解

 更新時(shí)間:2022年01月10日 08:39:55   作者:腦袋不靈光的小白羊  
這篇文章主要為大家介紹了Vue框架和前后端開(kāi)發(fā),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助

1. 抽象工廠模式

  • 針對(duì)工廠方法模式無(wú)法創(chuàng)建一組相關(guān)或相互依賴對(duì)象的問(wèn)題,引入了抽象工廠模式
  • 抽象工廠模式的官方定義

是一種為訪問(wèn)類提供一個(gè)創(chuàng)建一組相關(guān)或相互依賴對(duì)象的接口,且訪問(wèn)類無(wú)須指定所要產(chǎn)品的具體類就能得到同族的不同等級(jí)的產(chǎn)品的模式結(jié)構(gòu)。

敲黑板,畫(huà)重點(diǎn):

  • 提供一個(gè)創(chuàng)建一組相關(guān)或相互依賴對(duì)象的接口:相對(duì)工廠方法模式,抽象工廠模式的抽象工廠定義了多個(gè)創(chuàng)建對(duì)象的接口
  • 不同等級(jí)的產(chǎn)品:
    • 不同類的產(chǎn)品,又叫不同等級(jí)的產(chǎn)品。
    • 工廠方法模式中,只考慮同一等級(jí)產(chǎn)品的生產(chǎn),只是同一等級(jí)的產(chǎn)品也有很多不同的型號(hào)
    • 就像電子廠只生產(chǎn)游戲機(jī),游戲機(jī)有多種類型:插卡的游戲機(jī)、插光盤的游戲機(jī)、便攜式游戲機(jī)(玩俄羅斯方塊的那種??)
  • 同族的產(chǎn)品
    • 現(xiàn)實(shí)生活中,電子廠不止生產(chǎn)游戲機(jī),還生產(chǎn)電視機(jī)、音箱等產(chǎn)品。
    • 這些由一個(gè)工廠生產(chǎn)的不同等級(jí)的產(chǎn)品,被稱為產(chǎn)品族
    • 因此,同族的不同等級(jí)的產(chǎn)品,就是指一個(gè)工廠能生產(chǎn)多類產(chǎn)品,與前面的創(chuàng)建一組相關(guān)或相互依賴對(duì)象的接口呼應(yīng)
  • 以海爾和TCL兩家公司為例,產(chǎn)品族和產(chǎn)品等級(jí)的示意圖如下

在這里插入圖片描述

總結(jié)起來(lái):

  • 抽象工廠模式中,工廠不再只生產(chǎn)一類產(chǎn)品,而是可以生產(chǎn)多類產(chǎn)品
  • 也就是說(shuō),工廠可以支持多種類型的對(duì)象的創(chuàng)建
  • 調(diào)用者無(wú)需指定對(duì)象類型(具體的類),就可以通過(guò)工廠類創(chuàng)建多種類型的對(duì)象

2. UML圖

抽象工廠模式的UML圖如下:

  • 抽象工廠(Abstract Factory):定義了多個(gè)創(chuàng)建產(chǎn)品的接口,可以創(chuàng)建多個(gè)不同等級(jí)的產(chǎn)品
  • 具體工廠(Abstract Factory):實(shí)現(xiàn)抽象工廠中的抽象方法,負(fù)責(zé)創(chuàng)建具體的產(chǎn)品
  • 抽象產(chǎn)品(Product): 相對(duì)工廠方法模式,抽象工廠模式中的產(chǎn)品將是多種等級(jí)的。因此,一般會(huì)定義多個(gè)抽象產(chǎn)品

在這里插入圖片描述

3. 代碼示例

  • 以海爾和TCL兩家公司為例,實(shí)現(xiàn)抽象工廠模式

創(chuàng)建兩個(gè)抽象產(chǎn)品類

  • 假設(shè)產(chǎn)品只有電視機(jī)和空調(diào)兩種等級(jí)
public interface TV {
    void play();
}
public interface AirConditioner {
    void heat();
}

創(chuàng)建具體產(chǎn)品類

  • 實(shí)現(xiàn)抽象產(chǎn)品接口,為海爾和TCL公司創(chuàng)建具體產(chǎn)品類
public class HaierTV implements TV{
    @Override
    public void play() {
        System.out.println("海爾電視機(jī),銷量全國(guó)領(lǐng)先");
    }
}
public class TCLTV implements TV{
    @Override
    public void play() {
        System.out.println("TCL牌電視機(jī),家家都在看的電視機(jī)");
    }
}
public class HaierAirConditioner implements AirConditioner{
    @Override
    public void heat() {
        System.out.println("海爾牌空調(diào),制熱效果好,省電又省心~");
    }
}
public class TCLAirConditioner implements AirConditioner {
    @Override
    public void heat() {
        System.out.println("TCL牌空調(diào),制熱效果杠杠的");
    }
}

創(chuàng)建抽象工廠類

  • 有兩個(gè)接口,分別用于創(chuàng)建電視機(jī)和空調(diào)
public interface AbstractFactory {
    TV getTV();
    AirConditioner getAirConditioner();
}

創(chuàng)建具體工廠類

  • 為海爾和TCL兩家公司,創(chuàng)建具體工廠類,實(shí)現(xiàn)具體產(chǎn)品的創(chuàng)建
public class HaierFactory implements AbstractFactory{
    @Override
    public TV getTV() {
        return new HaierTV();
    }
    @Override
    public AirConditioner getAirConditioner() {
        return new HaierAirConditioner();
    }
}
public class TCLFactory implements AbstractFactory{
    @Override
    public TV getTV() {
        return new TCLTV();
    }
    @Override
    public AirConditioner getAirConditioner() {
        return new TCLAirConditioner();
    }
}

4. 總結(jié)

4.1 抽象工廠模式的總結(jié)

  • 創(chuàng)建屬于不同操作系統(tǒng)的視窗構(gòu)件,是抽象工廠模式最早的應(yīng)用。
  • 如 Java 的 AWT 中的 Button 和 Text 等構(gòu)件,在 Windows 和 UNIX 中的本地實(shí)現(xiàn)是不同的。

適用場(chǎng)景:

  • 需要?jiǎng)?chuàng)建的對(duì)象是一系列相關(guān)或相互依賴的產(chǎn)品族
  • 不同環(huán)境,需要使用不同產(chǎn)品族(系統(tǒng)中有多個(gè)產(chǎn)品族,但每次只使用其中的某一族產(chǎn)品)

開(kāi)閉原則的傾斜性

  • 增加一個(gè)產(chǎn)品族,只需要增加一個(gè)新的工廠類,無(wú)需修改已有的工廠 —— 滿足開(kāi)閉原則
  • 增加一個(gè)新等級(jí)的產(chǎn)品,抽象工廠和具體工廠都需要進(jìn)行修改 —— 不滿足開(kāi)閉原則
  • 這樣的現(xiàn)象被稱作:開(kāi)閉原則的傾斜性

4.2 工廠模式的總結(jié)

簡(jiǎn)單工廠模式

  • 從長(zhǎng)期的編程習(xí)慣總結(jié)出來(lái)的簡(jiǎn)單工廠模式,需要調(diào)用者傳入對(duì)象名稱,才能為其創(chuàng)建指定的對(duì)象
  • 新增對(duì)象類型時(shí),需要修改已有代碼,違背了開(kāi)閉原則

工廠方法模式

  • 每個(gè)工廠只負(fù)責(zé)創(chuàng)建一種類型的對(duì)象,是對(duì)簡(jiǎn)單工廠模式的升級(jí)改造
  • 雖然遵守了開(kāi)閉原則,但是容易工廠類過(guò)多,且不支持創(chuàng)建一組相關(guān)或相互依賴的對(duì)象的場(chǎng)景

抽象工廠模式

  • 將一組相關(guān)或相互依賴的對(duì)象,抽象成產(chǎn)品族,每個(gè)工廠負(fù)責(zé)創(chuàng)建一個(gè)產(chǎn)品族
  • 開(kāi)閉原則的傾斜性:新增產(chǎn)品族,滿足開(kāi)閉原則;新增產(chǎn)品,不滿足開(kāi)閉原則

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Vue項(xiàng)目部署后提示刷新版本的實(shí)現(xiàn)代碼

    Vue項(xiàng)目部署后提示刷新版本的實(shí)現(xiàn)代碼

    這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目部署后提示刷新版本的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-06-06
  • Vue3組件間傳值避坑方法指南

    Vue3組件間傳值避坑方法指南

    這篇文章主要為大家介紹了Vue3組件間傳值避坑方法指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Vue Treeselect樹(shù)形下拉框的使用小結(jié)

    Vue Treeselect樹(shù)形下拉框的使用小結(jié)

    樹(shù)形下拉框是一個(gè)帶有下列樹(shù)形結(jié)構(gòu)的下拉框,本文主要介紹了Vue Treeselect樹(shù)形下拉框的使用小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • Vue-Access-Control 前端用戶權(quán)限控制解決方案

    Vue-Access-Control 前端用戶權(quán)限控制解決方案

    Vue-Access-Control是一套基于Vue/Vue-Router/axios 實(shí)現(xiàn)的前端用戶權(quán)限控制解決方案。這篇文章主要介紹了Vue-Access-Control:前端用戶權(quán)限控制解決方案,需要的朋友可以參考下
    2017-12-12
  • vue組件間通信六種方式(總結(jié)篇)

    vue組件間通信六種方式(總結(jié)篇)

    組件是 vue.js最強(qiáng)大的功能之一,而組件實(shí)例的作用域是相互獨(dú)立的,這就意味著不同組件之間的數(shù)據(jù)無(wú)法相互引用。這篇文章主要介紹了vue組件間通信六種方式,需要的朋友可以參考下
    2019-05-05
  • vue發(fā)布到nginx下請(qǐng)求后臺(tái)404問(wèn)題及解決

    vue發(fā)布到nginx下請(qǐng)求后臺(tái)404問(wèn)題及解決

    這篇文章主要介紹了vue發(fā)布到nginx下請(qǐng)求后臺(tái)404問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue中關(guān)于$emit和$on的使用及說(shuō)明

    vue中關(guān)于$emit和$on的使用及說(shuō)明

    這篇文章主要介紹了vue中關(guān)于$emit和$on的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 基于vue hash模式微信分享#號(hào)的解決

    基于vue hash模式微信分享#號(hào)的解決

    這篇文章主要介紹了基于vue hash模式微信分享#號(hào)的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • Vue三層嵌套路由的示例代碼

    Vue三層嵌套路由的示例代碼

    本篇文章主要介紹了Vue三層嵌套路由的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Vue實(shí)現(xiàn)右鍵菜單組件的超詳細(xì)教程(支持快捷鍵)

    Vue實(shí)現(xiàn)右鍵菜單組件的超詳細(xì)教程(支持快捷鍵)

    右鍵菜單組件非常常見(jiàn),所有的前端開(kāi)發(fā)工程師都會(huì)遇到類似的功能組件開(kāi)發(fā)需求,這篇文章主要給大家介紹了關(guān)于Vue實(shí)現(xiàn)右鍵菜單組件的超詳細(xì)教程,文中介紹的方法支持快捷鍵,需要的朋友可以參考下
    2024-02-02

最新評(píng)論