去過宜家的同學應該都有注意到,宜家的家具基本都是組合的,可拆裝。模組化的特點也是這樣,可以組合,相對獨立,在需要的時候可以很方便的加上。那怎麼寫可以基本實現這種方式呢?
很久之前就知道 宜家 ,以前在廣州的時候也去過一次,給我的印象就是:大、貴、巧。地方很大,東西很貴,設計很巧。現在住的地方離宜家不遠,這個月找時間去逛了下,地方還是那麼大,東西還是那麼貴,設計還是那麼的巧。雖然沒有買什麼東西,不過也還是有所收穫的,通過宜家的家具設計方法,我們可以聊聊模組化。
去過宜家的同學應該都有注意到,宜家的家具基本都是組合的,可拆裝。模組化的特點也是這樣,可以組合,相對獨立,在需要的時候可以很方便的加上。那怎麼寫可以基本實現這種方式呢?給個簡單的例子:
jhsiv>
模組化結構的例子。
對應的css可以這麼寫:
.mode-a
.mode-a h3
.mode-a p
其中「mode-a」就是這個模組的名稱,表示這是名為「a」的模組,現在這個模組可以被放到你所需要的地方。既然是做模組,就不會只有乙個,我們再加乙個「mode-b」:
模組化的特點:
對應的css可以這麼寫:
.mode-b
.mode-b h3
.mode-b div
.mode-b h4
.mode-b ul li
實際應用中大多需要加一些classname來減少類定義的複雜度,這個例子比較簡單,但足以說明模組化的特點。上面兩個模組可同時被使用到乙個或多個頁面中。
在宜家的賣場中,也許你也注意到了,基本是以設計師來劃分商品區的,特別是那些小件的商品。模組化後的**也可以被分配給不同的人進行編寫,提高效率。當然要實現這種方式,我們也需要做些工作,如模組的命名規範、模組中哪些地方是需要留介面的等等。如上面的例子中可以約定的就有:命名以「mode」開頭,模組標題使用h3標籤。這樣不管是哪個人寫出來的模組都可相容專案中的頁面。
看到這你可能會發現,既然上面已經約定了模組固定的結構,每個模組的樣式定義中所寫的這一部分不就是冗餘的嗎?是的。如果已經形成相關的約定,這部分的樣式定義可以被提出來放到專案的公共定義中,減少**的冗餘。如上面的例子可以變成:
/* =s global */
h3.mode-a h3,
.mode-b h3
/* =e global */
/* =s mode-a */
.mode-a
.mode-a p
/* =e mode-a */
/* =s mode-b */
.mode-b
.mode-b div
.mode-b h4
.mode-b ul li
/*程式設計客棧 ==e mode-b */
不知你有沒注意到宜家那些小件的商品,往往可以組合到不同的其它商品上面。這也帶出了模組化的另乙個話題:模組中的模組。即在模組中可以存在其它的模組,也很好理解,就像我們做**的時候,整個頁面的結構就像是乙個大的模組,而上面所講的例子就是模組中的模組了,只不過我們把這個定義縮小一層。上面例子中對h3的定義,就可以看成是乙個模組,它在「mode-a」、「mode-b」兩個模組中都出現,並且結構表現相對固定。
ok,這只是對乙個標籤的定義,如果不只乙個標籤呢?我們重新改下例子:
模組化結構的例子。
模組化的特點:
這個是「模組中的模組」的例子。
模組中的模組:
模組&www.cppcns.comldquo;mode-a」就是乙個模組中的模組。
/* =s mode-a */
.mode-a
.mode-a h3
.mode-a p
/* =e mode-a */
/* =s mode-程式設計客棧b */
.mode-b
.mode-b h4
.mode-b .cont
.mode-b .cont ul li
/* =e mode-b */
/* =s mode-c */
.mode-c
.mode-c h4
.modjhsive-c .cont
.mode-c .cont p
/* =e mode-c */
資料庫設計方法學總結
邏輯資料庫設計 步驟1 建立並檢查er模型 在分析階段。將確定一系列的使用者檢視。根據交迭的數量,為了便於管理可能需要合併一些檢視。這個步驟地目的是為了每個這樣的檢視 可能是合併的 構建乙個公司 或者是公司的一部分 的邏輯資料模型。步驟1.1 標識實體 標識和文件化公司檢視中的主要的實體。步驟1.2...
邏輯設計方法學 6 多時鐘設計技術
在進行乙個含多個時鐘的設計時,在 和綜合過程中需要遵循一定的準則,這樣會帶來很大的好處。通用的準則如下 xilinx的開發工具vivado有 project mode 和 non project mode 在 non project mode 中,我們經常使用指令碼進行開發。同樣在 的時候,也會編寫...
邏輯設計方法學 5 控制時鐘偏移
整個晶元中時鐘訊號到達時間的差異成為時鐘偏移,即clock skew。在時序設計的時候,滿足暫存器的建立時間和保持時間的要求是最基本的設計原則。在相鄰的暫存器之間的資料傳輸延遲,與時鐘偏移應該滿足一定的關係,在本節中,我們來詳細地討論其關係。通過圖1來看相鄰暫存器之間傳輸的時候的資料延遲和時鐘偏移,...