240 發(fā)簡信
IP屬地:廣東
  • 120
    Builder Pattern(建造者模式)

    解決的問題 解決演示文稿導(dǎo)出各種格式的問題浓利。假設(shè)你有一個演示文稿(Presentation),演示文稿里包含多張幻燈片(Slide)围苫,需要實現(xiàn)將演示文稿導(dǎo)出為PDF、視頻等文...

  • Abstract Pattern(抽象工廠模式)

    解決的問題 假設(shè)你要開發(fā)一個app匾委,app的界面支持MaterialDesign和Ant兩種主題让虐。不同的主題所用的組件是不一樣的,例如按鈕組件黑滴,MaterialDesign主...

  • Singleton Pattern(單例模式)

    解決的問題 當你需要在代碼的每個地方憨募,都能訪問到同一個實例時,就可以用Singleton Pattern(單例模式)了跷跪。這是最簡單的設(shè)計模式了馋嗜。每種語言實現(xiàn)單例的方式可能會不...

  • Prototype Pattern(原型模式)

    解決的問題 以電腦的文件管理app為例,文件夾里有各種類型的文件(文本吵瞻、圖片葛菇、視頻等),鼠標右鍵點擊文件后橡羞,后彈出一個菜單(ContextMenu)眯停,菜單顯示可以對文件的操作...

  • 120
    Proxy Pattern(代理模式)

    解決的問題 開發(fā)一個電子書app,可以這樣設(shè)計: 每個電子書實例化后卿泽,都要占用一些計算機資源(CPU莺债、內(nèi)存等)滋觉,那么當電子書多了后,就會有性能問題齐邦。這樣情況椎侠,可以使用Prox...

  • 120
    Bridge Pattern(橋接模式)

    解決的問題 開發(fā)一個電視機遙控器app,要求可以適配各種的電視機品牌(Sony措拇、Samsung等)我纪。遙控器分為基礎(chǔ)版和高級版,基礎(chǔ)版只能開關(guān)機丐吓,高級版可以切換頻道浅悉。可以這樣設(shè)...

  • Flyweight Pattern(輕量級模式)

    解決的問題 當創(chuàng)建了大量對象券犁,可能會因為使用內(nèi)存過多而導(dǎo)致性能問題术健,可以考慮使用 Flyweight Pattern(輕量級模式)。例如粘衬,開發(fā)一個地圖軟件荞估,地圖上面需要標注 ...

  • Decorator Pattern

    解決的問題 為一個類添加更多功能。簡單的情形可以使用繼承色难。有些復(fù)雜的情況使用繼承就比較麻煩了泼舱。例如要開發(fā)一個保存數(shù)據(jù)到云端的功能(CloudStream),有些數(shù)據(jù)可以要先加...

  • Adapter Pattern

    解決的問題 開發(fā)了一個給照片添加濾鏡的功能枷莉。假設(shè)需要使用第三方的濾鏡娇昙,但是第三方的濾鏡的接口和自己的濾鏡不兼容,那么就可以使用適配器模式將第三方的濾鏡轉(zhuǎn)換為自己可以用的濾鏡笤妙。...

  • Composite Pattern

    解決的問題 將對象組合成層級結(jié)構(gòu)冒掌,支持一起修改。例如文件結(jié)構(gòu):Root Folder下有兩個文件夾:Videos Folder和Images Folder蹲盘,Videos Fo...

  • 120
    Visitor Pattern

    解決的問題 Visitor Pattern是為了在不改變類本身的代碼的前提下股毫,給類添加新的特性。 例如召衔,HTML有各種類型的節(jié)點(HtmlNode)铃诬,例如HeadingNod...

  • Chain Of Responsibility Pattern

    解決的問題 開發(fā)一個WebServer,處理Request苍凛,處理過程包括Authenticate趣席、Compress和Log步驟。要求可以自由添加或者移除步驟醇蝴。 代碼 Hand...

  • 120
    Mediator Pattern

    解決的問題 所有做過前端的人都應(yīng)該使用過該模式宣肚。你要開發(fā)一個界面,界面由選項列表(OptionList)悠栓,文本框(TextBox)和按鈕(Button)組成霉涨。在選項列表完成選...

  • 120
    Observer Pattern

    解決的問題 一個Excel表格按价,你修改一個地方的數(shù)值(DataSource),相關(guān)的圖表(Chart)和另一個表格(SpreadSheet)也會同步發(fā)生變化笙瑟。 代碼 Obse...

  • 120
    Command Pattern

    解決的問題 開發(fā)一個按鈕組件楼镐,不同的按鈕點擊執(zhí)行不同的命令。 代碼 Command: Button: DocumentService: DeleteDocumentComma...

  • 120
    Template Pattern

    解決的問題 開發(fā)一個銀行軟件逮走,有付款鸠蚪、轉(zhuǎn)賬等任務(wù),要求在執(zhí)行任務(wù)前师溅,需要先記錄日志。 代碼 Logger: Task: PayTask: TransferTask: Test...

  • 120
    Strategy Pattern

    解決的問題 開發(fā)一個保存圖片的功能盾舌,保存圖片前墓臭,需要先對圖片進行壓縮、添加濾鏡等處理妖谴。 代碼 Compressor: JpegCompressor: PngCompresso...

  • Iterator Pattern

    解決的問題 瀏覽器的瀏覽記錄窿锉,需要遍歷瀏覽記錄,但是又不想暴露保存瀏覽結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)膝舅;本質(zhì)上也是數(shù)據(jù)的封裝嗡载。 代碼 BrowserHistory: Iterator: Lis...

個人介紹
JavaScript全棧開發(fā)者。
亚洲A日韩AV无卡,小受高潮白浆痉挛av免费观看,成人AV无码久久久久不卡网站,国产AV日韩精品