設計模式-面試常問

1.單例模式
保證系統中,一個類,只有一個實例,并且提供對外訪問。
優點:只有一個對象,可以節省資源。適合頻繁創建銷毀對象的場景。
實現:要用到static,靜態私有對象。暴露單例的靜態方法。
(1)餓漢模式:對象放在類成員變量中,類加載時,就可以初始化實例。
優點:線程安全,多個線程想要加載類時,只有一個線程可以加載,其它線程要等待。
缺點:會創建一些暫時不需要使用的單例時,浪費資源。降低啟動速度。

(2)飽漢模式:對象創建過程,放到函數方法中。
優點:資源利用率高,延遲對象加載。
缺點:線程不安全。

2. 工廠模式
把對象的創建統一管理,屏蔽創建類的復雜過程的一種設計方法。
(1)簡單工廠:根據傳參不同,返回不同的實例。
優點:簡單,
缺點:不易擴展,增加一個類就要重新修改代碼。

3.觀察者模式
讓多個觀察者對象同時監聽某一個主題對象。這個主題對象在狀態變化時,會通知所有的觀察者對象,使他們能夠自動更新自己,核心在于被觀察者中維護一個觀察者的鏈表,如果被觀察者對象有變化就會遍歷這個鏈表通知觀察者。因此核心在于兩個角色:觀察者與被觀察者。

4.裝飾者模式
動態的給對象添加新功能,核心:被裝飾者(基類)、裝飾者接口、用來裝飾的具體類。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/39445.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/39445.shtml
英文地址,請注明出處:http://en.pswp.cn/news/39445.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

docker 學習--03 環境安裝(本人使用的win10 Linux也是在win10下模擬)

docker 學習–03 環境安裝(本人使用的win10 Linux也是在win10下模擬) docker 學習-- 01 基礎知識 docker 學習-- 02 常用命令 文章目錄 docker 學習--03 環境安裝(本人使用的win10 Linux也是在win10下模擬)[TOC](文章目錄) 1. wi…

【數學建模】邏輯回歸算法(Logistic Resgression)

邏輯回歸算法 簡介邏輯回歸與條件概率繪制sigmoid函數 簡介 邏輯回歸算法是一種簡單但功能強大的二元線性分類算法。需要注意的是,盡管"邏輯回歸"名字帶有“回歸”二字,但邏輯回歸是一個分類算法,而不是回歸算法。 我認為&#xff…

冉冉升起的星火,再度升級迎來2.0時代!

文章目錄 前言權威性評測結果 星火大模型多模態功能插件功能簡歷生成文檔問答PPT生成 代碼能力 福利 前言 前幾天從技術群里看到大家都在談論《人工智能大模型體驗報告2.0》里邊的內容,抱著好奇和學習的態度把報告看了一遍。看完之后瞬間被里邊提到的科大訊飛的星火…

2008-2020年全國各省綠色金融發展指數(含原始數據)

2008-2020年全國各省綠色金融發展指數(含原始數據) 1、時間:2008-2020年 2、范圍:30個省市 不含西藏 3、來源:原始數據整理自csmar、eps、wind等數據庫 4、原始數據指標: A股上市環保企業新增銀行貸款…

企業服務器數據庫遭到malox勒索病毒攻擊后如何解決,勒索病毒解密

網絡技術的發展不僅為企業帶來了更高的效率,還為企業帶來信息安全威脅,其中較為常見的就是勒索病毒攻擊。近期,我們公司收到很多企業的求助,企業的服務器數據庫遭到了malox勒索病毒攻擊,導致系統內部的許多重要數據被加…

HCIP VRRP技術

一、VRRP概述 VRRP(Virtual Router Pedundancy Protocol)虛擬路由器冗余協議,既能夠實現網關的備份,又能夠解決多個網關之間互相沖突的問題,從而提高網絡可靠性。 局域網中的用戶的終端通常采用配置一個默認網關的形…

【uniapp】 軟鍵盤彈出后fixed定位被頂上去問題

問題描述 當手機設計的導航欄為fixed定位上去時&#xff0c;輸入框獲取焦點就會把頂部自定義的導航欄頂到上面去&#xff0c;如下圖所示 解決辦法 輸入框設置 :adjust-position“false” <input type"text" :adjust-position"false" focus"i…

【Linux】多線程之單例模式

多線程之單例模式 什么是設計模式&#xff0c;都有哪些設計模式單例模式餓漢模式懶漢模式 什么是設計模式&#xff0c;都有哪些設計模式 設計模式就是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人理…

AI繪畫 | 一文學會Midjourney繪畫,創作自己的AI作品(快速入門+參數介紹)

一、生成第一個AI圖片 首先&#xff0c;生成將中文描述詞翻譯成英文 然后在輸入端輸入&#xff1a;/imagine prompt:Bravely running boy in Q version, cute head portrait 最后&#xff0c;稍等一會即可輸出效果 說明&#xff1a; 下面的U1、U2、U3、U4代表的第一張、第二張…

Nacos AP架構集群搭建(Windows)

手寫SpringCloud項目地址&#xff0c;求個star github:https://github.com/huangjianguo2000/spring-cloud-lightweight gitee:https://gitee.com/huangjianguo2000/spring-cloud-lightweigh 目錄&#xff1a; 一&#xff1a;初始化MySQL 二&#xff1a;復制粘貼三份Nacos文…

分類預測 | MATLAB實現GAPSO-BP遺傳算法組合粒子群算法優化BP神經網絡多輸入分類預測

分類預測 | MATLAB實現GAPSO-BP遺傳算法組合粒子群算法優化BP神經網絡多輸入分類預測 目錄 分類預測 | MATLAB實現GAPSO-BP遺傳算法組合粒子群算法優化BP神經網絡多輸入分類預測預測效果基本介紹模型描述程序設計參考資料 預測效果 基本介紹 1.分類預測 | MATLAB實現GAPSO-BP遺…

YoloV8優化:通道優先卷積注意力,效果秒殺CBAM和SE等 | 即插即用系列

??????本文獨家改進:通道優先卷積注意力,采用多尺度結構來增強卷積運算捕獲空間關系的能力,解決CBAM 整合了通道注意和空間注意,但它在其輸出特征的所有通道上強制執行一致的空間注意分布。相反,SE只整合了通道注意,這限制了它選擇重要區域的能力 通道優先卷積注意…

LabVIEW使用圖像處理進行交通控制性能分析

LabVIEW使用圖像處理進行交通控制性能分析 采用普雷維特、拉普拉斯、索貝爾和任意的空間域方法對存儲的圖像進行邊緣檢測&#xff0c;并獲取實時圖像。然而&#xff0c;對四種不同空間域邊緣檢測方法的核的性能分析。 以前&#xff0c;空路圖像存儲在數據庫中&#xff0c;道路…

【JAVA】變量的作用域與生存周期

個人主頁&#xff1a;【&#x1f60a;個人主頁】 系列專欄&#xff1a;【??初識JAVA】 文章目錄 前言變量的作用域變量的生命周期局部變量全局變量 前言 變量&#xff0c;我們學習過程中逃不掉的知識&#xff0c;無論在哪種語言中我們都需要學會去合理的運用它&#xff0c;今…

自然語言處理從入門到應用——LangChain:記憶(Memory)-[記憶的存儲與應用]

分類目錄&#xff1a;《自然語言處理從入門到應用》總目錄 使用SQLite存儲的實體記憶 我們將創建一個簡單的對話鏈&#xff0c;該鏈使用ConversationEntityMemory&#xff0c;并使用SqliteEntityStore作為后端存儲。使用EntitySqliteStore作為記憶entity_store屬性上的參數&am…

excel 下載方法封裝

1.首先需要拿到后端返回的URL下載地址 2.寫個下載方法 // url 接口返回的下載地址。例如&#xff1a;https://cancer-research.oss-cn-beijing.aliyuncs.com/yuance-platform-permission/校內共享數據導入模板.xlsx // name 文件名稱 例如&#xff1a; 校內共享數據導入模板 /…

(一)Unity開發Vision Pro介紹

1.介紹 1.1 介紹 VisionOS 可實現與現實世界無縫集成并與其他虛擬內容共存的 3D 多任務體驗。這為個人生產力、生活方式和娛樂應用打開了一個充滿新可能性的世界&#xff0c;并為開發人員打開了一個全新的市場。然而&#xff0c;它也帶來了圍繞多任務處理和與身體互動的新挑戰…

Aspera替代方案:探索這些安全且可靠的文件傳輸工具

科技的發展日新月異&#xff0c;文件的傳輸方式也在不斷地更新換代。傳統的郵件附件、FTP等方式已經難以滿足人們對于傳輸速度和安全性的需求了。近年來&#xff0c;一些新興的文件傳輸工具受到了人們的關注&#xff0c;其中除了知名的Aspera之外&#xff0c;還有許多可靠安全的…

FPGA_學習_15_IP核_VIO

前一篇博客我們提到在線調試的時候&#xff0c; 可執行文件只要燒進板子&#xff0c;程序它就會自己跑起來&#xff0c;不會等你點 這個按鈕&#xff0c;它才開始跑。我們測試的模塊中&#xff0c;里面可能有幾個我們關心的信號&#xff0c;它會在程序剛運行很短的時間內發生狀…

使用GUI Guider工具開發嵌入式GUI應用 (3) - 使用label組件

使用GUI Guider工具開發嵌入式GUI應用 (3) - 使用label組件 文章目錄 使用GUI Guider工具開發嵌入式GUI應用 (3) - 使用label組件引言在GUI Guider工程中創建label組件編譯MCU工程并下載到開發板 引言 本節講述在GUI Guider中&#xff0c;應用各種UI的基本元素&#xff0c;并順…