設計模式之間的差別

2021-10-06 21:37:34 字數 730 閱讀 7688

模板方法與策略模式的區別

模板方法是在父類中,定義出方法的骨架,需要在子類中重寫某個步驟

策略模式,是在父類中定義乙個方法,然後重寫這個方法

**模式和裝飾器模式的區別

**模式是與原物件實現同乙個介面,必須要實現原介面和持有真實的物件,才能稱之為**類。**模式一定是自身持有這個物件不需要從外部傳入。用**模式,**類可以對它的客戶隱藏乙個物件的具體資訊。因此,當使用**模式的時候,我們常常在乙個**類中建立乙個物件的例項。

裝飾模式的一定是從外部傳入,並且可以沒有順序,按照**的實際需求隨意挑換順序。當我們使用裝飾器模式的時候,我們通常的做法是將原始物件作為乙個引數傳給裝飾者的構造器

介面卡模式和**模式的區別

介面卡模式改變所考慮的物件的介面,**模式不能改變所**物件的介面。

簡單工廠模式 工廠模式 抽象工廠模式

簡單工廠模式:建立乙個工廠類,利用ifelse判斷需要生產的商品,違反了開閉原則

工廠模式:首先宣告乙個工廠介面,所有工廠必須實現這個介面,在每個工廠裡建立相應的物件

抽象工廠模式:抽象工廠模式中我們可以定義實現不止乙個介面,乙個工廠也可以生成不止乙個產品類,抽象工廠模式較好的實現了「開放-封閉」原則,是三個模式中較為抽象,並具一般性的模式。我們在使用中要注意使用抽象工廠模式的條件。

「 」「 Equals」之間的差別。

equals 方法只是在 system.object 中定義的乙個虛擬方法,它由任何選擇執行該任務的類所重寫。運算子是乙個可由類過載的運算子,該類通常具有恒等行為。對於未過載 的引用型別,該運算子會比較兩個引用型別是否引用同一物件,而這恰好是 system.object 中的 equals 實現所做...

ROM,RAM,記憶體,硬碟之間的差別

內存在電腦中起著舉足輕重的作用。記憶體一般採用半導體儲存單元,包括隨機儲存器 ram 唯讀儲存器 rom 以及快取記憶體 cache 只不過因為ram是其中最重要的儲存器,所以通常所說的記憶體即指電腦系統中的ram。ram要求每時每刻都不斷地供電,否則資料會丟失。如果在關閉電源以後ram中的資料也不...

Linux 各個版本之間的差別

一直沒有搞清楚rhel,centos,還有ubuntu,fedora這些版本之間的差別,搜了一下,整理到這裡,備忘吧。我最關心的 1,centos是在rhel基礎上的免費版 2,ubuntu適合桌面應用,rhel適合企業級應用 一 redhat與ubuntu的區別 自 二 各個linux版本 red...