屬性管理 - 製作中
在正式介紹 屬性管理 之前,我們需要理解何謂屬性?透過真實世界的事物來舉例,相信會比較容易理解屬性這個概念。
-
何謂屬性
例子1:人類的眼睛顏色有很多種,我們可以建立一個屬性為 眼睛顏色,它可以用來記錄用戶自己的眼睛顏色。例子2:建立一個屬性為 身高,可以用它來記錄用戶的身高是幾公分。
例子3:建立一個屬性為 姓名,可以用它來紀錄用戶的姓名。
相信透過上面簡單的舉例應該有比較理解屬性的概念,屬性就是一個特定對象共同具有的特質或性質,而這些特質在這些對象之間呈現的結果並不會完全一致。
像是每個人眼睛的顏色並不會完全相同,它沒有一個固定的顏色,會因為不同的人而有不一樣的結果。
身高、體重、姓名亦是如此。
※ 屬性會同時存在於所有屬於此組織的機器人好友資料內,所以儘管建立的屬性是要給特定的機器人好友使用,其他同樣在這一個組織中的機器人好友,也一樣會具有這個建立的屬性。因此在我們建立屬性時,需要先思考清楚這個屬性的用途,以及同一個組織之中的各個機器人彼此間會不會有衝突的可能,例如:同個組織中存在兩個機器人,這兩個機器人都會使用到名為 身高 的屬性,但是兩個機器人
在釐清屬性的概念後,接著需要理解 GOSU BAR 平台屬性的應用對象種類,理解其作用對象的差異以及適合使用的情境。
-
屬性的應用對象 (好友 / 機器人 / 組織)
在 GOSU BAR 平台上屬性共分成 3 種應用對象:好友、機器人、組織
※ 以層級來說會是:組織>機器人>好友,組織位於最上層(最外層)※ 屬性建立在合適的應用對象,對於運用屬性甚至是執行的效能、效率都將大幅優化。
-
好友
大多數的使用情境,我們建立的屬性會是建立在好友這個應用對象,因為一般的情境我們會是記錄使用者本身的資訊比較多。
例如:眼睛顏色、姓名,這些很明顯的是代表用戶個人的性質。
-
機器人
少數情況下我們會因為一些的需求,將屬性建立在機器人,這個屬性並不是用來記錄用戶個人的特質、性質,它是用來代表機器人之下的全部用戶的共同特質、性質的。
情境:今天有個機器人要舉辦一個活動,這個活動的開始時間需要被設定或記錄,所以這個時間對同個機器人的所有用戶來說都會是相同的。- 不建議:
將屬性 活動開始時間 建立在好友,並對機器人之下的所有用戶各別設定時間。
這將增加一些不必要的操作與時間成本,且未來要更改時間也將變得不好維護。
- 建議:
將屬性 活動開始時間 建立在機器人,只需要對機器人的這個屬性賦予時間,這個機器人的所有用戶都可以一起共用這個屬性。
- 不建議:
-
組織
若能理解機器人的說明,那麼建立在組織就不難理解。由於組織的層級比機器人再高一層,所以會將屬性建立在組織的情境,就是當組織之下的所有機器人都需要共用某個屬性,那就會選擇將屬性建立到組織,而非建立到機器人。
-
好友
無論屬性是建立在哪個應用對象,屬性都有 3 種型態可以選擇。建議依使用情境選擇適當的型態,這將有效優化一些操作,甚至提升運行的效能。
-
屬性的型態 (文字 / 數字 / 列表)
在 GOSU BAR 平台上屬性共分成 3 種型態:文字、數字、列表-
文字
顧名思義,就是專門用來儲存文字的型態。
-
數字
顧名思義,就是專門用來儲存數字的型態,若屬性選擇此種型態,在流程中的 設定屬性節點 將出現可以對此種屬性進行數字 加N 或 減N 的行為。
-
列表
若以程式撰寫來理解,列表其實就是陣列。
-
文字
-
屬性管理