第九節 開閉原則

2021-09-08 18:23:01 字數 929 閱讀 4269

1、開閉原則, 對擴充套件是開放的,對修改是關閉的。

2、復用,模組復用和系統復用,其中模組部分復用或將整個專案程式設計可復用的。

3、**內部模組化時,**之中有不同的邏輯。

將**分為業務邏輯層和資料儲存層,將**模組化成兩個層級。

像 對選單的處理,選單功能實現為業務邏輯

像 選單資料儲存用鍊錶,也可以以後改為雜湊表,為資料儲存層

**如下:

/** revision log:

** created by mengning,2014/08/31**/

#include

#include

#include

int help();

#define cmd_max_len   128

#define desc_len      1024

#define cmd_num       10

/*data struct and its operations*/

typedef struct datanode

tdatanode;

tdatanode * findcmd(tdatanode * head,char *cmd)

tdatanode *p=head;

while(p!=null)

p=p->next;

}return null;

}int showallcmd(tdatanode * head)

return 0;

}/*menu program*/

static tdatanode head=,};

int main()

printf("%s-%s",p->cmd,p->desc);

if(p->handler!=null)

}return 0;

}int help()

第九節除錯

除錯 第一種方法簡單直接粗暴有效,就是用print 把可能有問題的變數列印出來看看 斷言凡是用print 來輔助檢視的地方,都可以用斷言 assert 來替代 assert的意思是,表示式n 0應該是true,否則,根據程式執行的邏輯,後面的 肯定會出錯。如果斷言失敗,assert語句本身就會丟擲a...

java筆記第九節

第九節 一 設計模式 相當於戰術 入格 看 可用性,美觀性 的由23種。二 架構模式 相當於戰略 目前只有兩種 1.b s 瀏覽器 伺服器,邏輯 堆放到伺服器上 方便公升級,修改,伺服器任務重 b s網頁上的內容是臨時從伺服器上下下來的 2.c s 客戶 伺服器,邏輯 堆放到客戶端上 不適合管理軟體...

第九節 陣列

陣列是為了放多個資料的資料型別,陣列是引用資料型別,除了八種基本資料型別外其他資料都是引用資料型別。語法 有兩種方式 方式一 資料型別 變數名 推薦 例如 int array 方式二 資料型別 變數名 例如 int array 語法 有兩種方式 方式一 變數名 new 資料型別 陣列大小 方式二 變...