第四章 模組化react和redux應用
4.1 模組化應用要點
構建乙個應用的基礎:
**檔案的組織結構;
確定模組的邊界;
store的狀態樹設計。
4.2 **檔案的組織方式
4.2.1 按角色組織
在mvc中,應用**分為controller、model、view,分別代表三種模組角色。分別放到controllers、models、views目錄下。
在redux應用的構建中,把目錄換成了:
reducer:目錄中包含所有的redux的reducer;
actions:包含所有action建構函式;
components:包含所有的傻瓜元件;
containers:包含所有的容器元件。
4.2.2 按功能組織
redux應用適合於「按功能組織」,也就是把完成同一應用功能的**放在乙個目錄下,乙個應用功能包含多個角色的**。應用功能對應的就是使用者介面上的互動模組。
4.3 模組介面
低耦合性:不同功能模組之間的依賴關係應該簡單而助清晰;
高內聚性:乙個模組應該把自己的功能封裝的很好,讓外界不要太依賴於自己內部的結構,這樣不會因為內部的變化而影響外部模組的功能。
在redux應用中,整體由模組構成,但是模組不再是react元件,而是由react元件加上相關的reducer和actions構成的乙個小整體。
匯出模組的兩種方式
import * as actions from 』. /actions;匯入import reducer from 』. /reducer;
import view from 』./views/container
export
import todolistcomponent from 』. /actions4.4 狀態樹的設計const reducer = todolistcomponent .reducer;
const actions = todolistcomponent .actions;
const todolist = todlistcomponent.view
所有的狀態都存在store上,store的狀態樹設計,直接決定了要寫哪些reducer,還有action怎麼寫,是程式邏輯的源頭。
狀態樹設計要遵循以下幾個原則:
乙個模組控制乙個狀態節點;
避免冗餘資料;
樹形結構扁平。
4.4.1 乙個狀態節點只屬於乙個模組
在redux應用中,store上的每個state都只能通過reducer來更改,而我們每個模組都有機會匯出乙個自己的reducer,這個匯出的reducer只能最多更改redux的狀態樹上乙個節點下的資料,不同模組下的reducer不能互相修改
第四章 Linux核心模組
注 內容大多摘自 linux裝置驅動開發詳解 第2版 1.特點 2.模組程式結構 1 模組載入函式 一般需要 2 模組解除安裝函式 一般需要 3 模組許可證宣告 必須 4 模組引數 可選 5 模組匯出符號 可選 6 模組作者等資訊宣告 可選 3.模組的載入,解除安裝,檢視 4.printk函式 核心...
第四章 Linux核心模組
4.1 linux核心模組簡介 核心模組特點 1 模組本身不被編譯進核心映像中,從而控制核心的大小。2 模組被載入後,它跟核心中的其他部分完全一樣。核心載入命令 lsmod 核心解除安裝命令 rmmod 加強型核心載入函式 modprobe 優點 載入模組所以來的模組。模組之間的依賴關係可以在 li...
第四章 繼承
一 為什麼要繼承 在物件導向中我們將具有很多重複內容的類中的內容提取出來,寫成乙個單獨的類 其他類只需要繼承就能取得這些功能,同時可以在自己類中寫入獨特的自定義方法 二 繼承語法 inte ce circle nsobject 繼承是在介面中定義的 冒號後的類名是要整合的類,nsobject 是co...