設計模式在C中的應用方式

2021-06-21 14:58:21 字數 799 閱讀 9946

在c語言中就不考慮封裝了,考慮封裝會導致**易讀性下降

1、與c++相同,抽象出公共介面,該步很關鍵

2、定義乙個結構體,其成員為這些公共介面的函式指標。

3、具體的類如page,line等,第乙個元素的型別必須是上述介面結構體(的指標),其它的做為結構體的私有資料放在後邊。

4、該方法的缺點是「每個物件」都包含了上述結構體,當物件很多時會造成較多的記憶體浪費。

改進方法是在物件中定義介面結構體,改為定義介面結構體的指標,由於需要從ctx位址得到

整個結構體的位址,因此使用了多重指標。

以組合遞迴模式為例:

改進方法附後

struct context

struct text

struct line

struct page

int main(void)

由於每個物件都包含了介面結構體,如果介面數量和物件數量都很多,會造成大量記憶體浪費,

改進方法是使用指標,使記憶體占用降低至4位元組。

struct context

struct text

struct line

struct page

struct context text_intf =

;struct context line_intf =

;struct context page_intf =

;int main(void)

設計模式在vue中的應用(二)

目錄整理 設計模式在vue中的應用 一 設計模式在vue中的應用 二 設計模式在vue中的應用 三 設計模式在vue中的應用 四 設計模式在vue中的應用 五 設計模式在vue中的應用 六 這篇內容比較簡單只涉及到乙個設計模式 狀態模式。來自iview文件截圖 在服務端輸出頁面的開發模式下每完成一步...

設計模式 工廠在收費系統中的應用

抽象工廠 abstract factory 提供乙個建立一系列相關或相互依賴物件的結構,而無需指定他們具體的類。抽象工廠uml圖 abstractproducta和abstractproductb是兩個抽象產品,它們可能是兩種不同的實現。在機房收費系統中可以理解為對兩個表的不同操作。而product...

設計模式 在軟體開發中的應用

論設計模式在軟體開發中的應用 在解決這個論題之前,我們首先要了解設計模式的概念,及其基本的分類。設計模式 這四個字,相信大家在很多地方都會看到,什麼是設計模式呢?乙個設計模式提供一種提煉子系統或軟體系統中的元件的,或者它們之間的關係的綱要設計。設計模式描述普遍存在的在相互通訊的元件中重複出現的結構,...