摘要:使用和描述控件之間的關(guān)系。的含義同里的,而的含義同和中的一致。的這兩種多了一個(gè)限制的目標(biāo)必須和源在同一個(gè)部署單元,或者目標(biāo)位于部署單元內(nèi)。
UI5
UI5使用Association和Aggregation描述控件之間的關(guān)系。
Aggregation:parent和子控件在lifecycle上存在依賴關(guān)系:
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的轉(zhuǎn)盤控件Carousel: 一旦轉(zhuǎn)盤被析構(gòu),里面顯示的page當(dāng)然也沒有繼續(xù)存在的意義了,需要跟著被析構(gòu)。
而Association描述了在lifecycle層面的一種soft dependency關(guān)系:
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的關(guān)系,比如button和label:技術(shù)上來說,可以彼此分開獨(dú)立存在。
CRMCRM的Genil model存在三種類型的relation,可以在doman CRM_RELATION_KIND里查看:
區(qū)別:
Association:?Link between any kind of objects. Can also be defined across components with root or access object as target. 依賴關(guān)系最為loose的一種relation,可以用來連接跨model之間的節(jié)點(diǎn)。
Aggregation:?Binds child objects to a root object. Only access and dependent objects can be aggregated. 只適用于同一模型的節(jié)點(diǎn)之間的關(guān)聯(lián)。
Composition:?Like an aggregation, but composed child objects always exist. 特殊類型的Aggregation。目標(biāo)節(jié)點(diǎn)的Cardinality為1或者1..n
S/4HANA只有兩種:association或者composition。Composition的含義同CRM里的aggregation,而association的含義同UI5和CRM中的association一致。
C4C只有兩種: association或者composition。C4C的這兩種relation多了一個(gè)限制:relation的目標(biāo)BO必須和源BO在同一個(gè)部署單元Deployment Unit,或者目標(biāo)BO位于Foundation部署單元內(nèi)。
Association的語(yǔ)法如下圖:
association的multiplicity只支持[0,1]或者[1,1], 如果不顯式指定,默認(rèn)為[1,1].
C4C relation的一個(gè)特色是,一旦申明了一個(gè)子節(jié)點(diǎn)之后,系統(tǒng)會(huì)默認(rèn)生成一個(gè)對(duì)應(yīng)的composition。
下圖第4行代碼會(huì)自動(dòng)生成一個(gè)[0,n]的從root節(jié)點(diǎn)到Item節(jié)點(diǎn)的composition。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/93992.html
摘要:使用和描述控件之間的關(guān)系。的含義同里的,而的含義同和中的一致。的這兩種多了一個(gè)限制的目標(biāo)必須和源在同一個(gè)部署單元,或者目標(biāo)位于部署單元內(nèi)。 UI5 UI5使用Association和Aggregation描述控件之間的關(guān)系。 Aggregation:parent和子控件在lifecycle上存在依賴關(guān)系: When a ManagedObject is destroyed, all a...
摘要:使用和描述控件之間的關(guān)系。的含義同里的,而的含義同和中的一致。的這兩種多了一個(gè)限制的目標(biāo)必須和源在同一個(gè)部署單元,或者目標(biāo)位于部署單元內(nèi)。 UI5 UI5使用Association和Aggregation描述控件之間的關(guān)系。 Aggregation:parent和子控件在lifecycle上存在依賴關(guān)系: When a ManagedObject is destroyed, all a...
摘要:從零開始單排學(xué)設(shè)計(jì)模式的國(guó)服排位之旅,今天正式開啟目前段位定級(jí)賽這篇文章來總結(jié)下類圖,本來不打算講類圖的,因?yàn)槲以趯W(xué)習(xí)設(shè)計(jì)模式的時(shí)候,一遇到有關(guān)的就會(huì)自動(dòng)忽略,一看感覺就很復(fù)雜。關(guān)聯(lián)關(guān)系用實(shí)現(xiàn)箭頭來表示。 閱讀本文大概需要 3.5 分鐘。 本篇是設(shè)計(jì)模式系列的開篇,雖然之前也寫過相應(yīng)的文章,但是因?yàn)榉N種原因后來斷掉了,而且發(fā)現(xiàn)之前寫的內(nèi)容也很渣,不夠系統(tǒng)。 所以現(xiàn)在打算重寫,加上距離現(xiàn)...
摘要:設(shè)計(jì)模式是一套被反復(fù)使用的多數(shù)人知曉的經(jīng)過分類編目的代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。使用設(shè)計(jì)模式是為了重用代碼讓代碼更容易被他人理解保證代碼可靠性。由此可見,其實(shí)設(shè)計(jì)模式就是從大型軟件架構(gòu)出發(fā)便于升級(jí)和維護(hù)的軟件設(shè)計(jì)思想,它強(qiáng)調(diào)降低依賴,降低耦合。 點(diǎn)擊進(jìn)入我的博客 1.1 設(shè)計(jì)模式概述 什么是設(shè)計(jì)模式 設(shè)計(jì)模式是軟件開發(fā)人員在軟件開發(fā)過程中面臨的一般問題的解決方案。設(shè)計(jì)模式是一套被反復(fù)使用的、...
閱讀 683·2023-04-25 18:59
閱讀 1223·2021-09-22 16:00
閱讀 1894·2021-09-22 15:42
閱讀 3602·2021-09-22 15:27
閱讀 1254·2019-08-30 15:54
閱讀 1110·2019-08-30 11:16
閱讀 2457·2019-08-29 16:24
閱讀 834·2019-08-29 12:14