您好,登錄后才能下訂單哦!
這篇文章主要介紹“UI5使用Association和Aggregation方法是什么”,在日常操作中,相信很多人在UI5使用Association和Aggregation方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”UI5使用Association和Aggregation方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
UI5使用Association和Aggregation描述控件之間的關系。
Aggregation:parent和子控件在lifecycle上存在依賴關系:
When a ManagedObject is destroyed, all aggregated objects are destroyed as well and the object itself is removed from its parent. That is, aggregations won't contain destroyed objects or null/undefined.
比如UI5的轉盤控件Carousel: 一旦轉盤被析構,里面顯示的page當然也沒有繼續存在的意義了,需要跟著被析構。
而Association描述了在lifecycle層面的一種soft dependency關系:
Managed associations also form a relationship between objects, but they don't define a lifecycle for the associated objects. They even can 'break' in the sense that an associated object might have been destroyed already although it is still referenced in an association.
最明顯的例子就是控件和其label的關系,比如button和label:技術上來說,可以彼此分開獨立存在。
CRM的Genil model存在三種類型的relation,可以在doman CRM_RELATION_KIND里查看:
區別:
Association: Link between any kind of objects. Can also be defined across components with root or access object as target. 依賴關系最為loose的一種relation,可以用來連接跨model之間的節點。
Aggregation: Binds child objects to a root object. Only access and dependent objects can be aggregated. 只適用于同一模型的節點之間的關聯。
Composition: Like an aggregation, but composed child objects always exist. 特殊類型的Aggregation。目標節點的Cardinality為1或者1..n
只有兩種:association或者composition。Composition的含義同CRM里的aggregation,而association的含義同UI5和CRM中的association一致。
只有兩種: association或者composition。C4C的這兩種relation多了一個限制:relation的目標BO必須和源BO在同一個部署單元Deployment Unit,或者目標BO位于Foundation部署單元內。
Association的語法如下圖:
association的multiplicity只支持[0,1]或者[1,1], 如果不顯式指定,默認為[1,1].
C4C relation的一個特色是,一旦申明了一個子節點之后,系統會默認生成一個對應的composition。
下圖第4行代碼會自動生成一個[0,n]的從root節點到Item節點的composition。
到此,關于“UI5使用Association和Aggregation方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。