close
轉錄於: http://www.ascc.sinica.edu.tw/nl/95/2202/03.txt
The Effect of Granularity
Granularity的英文字意中有一個是果凍的意思,在軟體工廠一
書中,對於Granularity的定義是衡量抽象化的大小的方式。在
一個較粗糙的抽象化(coarse-grained abstraction)中,其
擁有的功能一定比一個較細緻的抽象化(fine-grained abstraction)
多。例如:一個信用卡認證服務的抽象化功能,一定比一個字
串類別的抽象化來得多;但是也會造成太多、太複雜的行為互
動模式,讓軟體開發人員難以瞭解。一個較細緻的抽象化,需
要提供更多詳細的行為描述資訊來取代簡單的介面,以Web
Services中的Web Service Definition Language(WSDL)為例,
就是利用XML格式攜帶了許多的資訊。
抽象化的細緻化程度,在程式語言強大的協助之下,近年來也
有增大的趨向。一個簡單的類別可能就包含了許多的組合語言
指令的總和,因此,雖然較細緻的抽象化可以有比較強大的功
能,但是對一個初學軟體的軟體開發人員,其學習曲線是較學
一般程式語言為高的。
轉錄於:http://oddlee.blogspot.com/2007/10/types-of-networks.html
hypergraph:簡單來說,它是由一種特殊的 edge(稱為 hyperedge)所組成,而 hyperedge 是指一個 edge 可連結 2 個以上的node,更準確地來說,n 個個體以某種關係相互連結,此時 edge 有 C(n,2) 個,但是用一個 hyperedge 就可以將這原本的 edges 都包含。hypergraph 較常用於生物資訊中,蛋白質與化學分子的關係表示上。hyperedge 的一個簡單的圖例。
bipartite graph:這就比較常見了。此種 graph 的 nodes 有兩種不同的類型,而 edge 只建立在不同類型的 nodes 之間。所謂的 "affiliation network" 正是此類型的一個代表,它指的是共同參與事件的關係,graph 的一種 node type 為 people,另一種 node type 為 events,共同參與某一事件的人都會與該事件的 node 建立連結,但這些人彼此間並沒有 edges 存在。
文章標籤
全站熱搜