元件連線 繫結中「 」 「 」與「 」的區別

2021-08-27 07:49:40 字數 857 閱讀 5333

在元件的鏈結繫結中經常可以看到「->」、「<-」和「=」。這三個符號可以將介面繫結到相應的介面和模組,現在的問題是:這三個符號有著怎樣的區別和聯絡呢?

在介紹三者的區別和聯絡前,要先介紹下規範元素(程式中的模組和介面等)的外部性(external)和內部性(internal)。其實內部性和外部性是很好理解的:在組建規範(specification)中的規範元素成為外部性規範元素,而把在元件實現(implementation)中的規範元素稱為內部性規範元素。舉例說明:

module a{

provides inte***ce b;

implementation{

components c;

b->c.b_;

其中在module中的語句引入的介面b即具有外部性,而在implementation中引入的元件c即具有內部性。

現在讓我們來討論「->」、「<-」和「=」這三個符號的區別:

「=」可以很廣泛的繫結兩個有效的規範元素,其繫結範圍為:內部-外部、外部-外部。

「->」和「<-」是完全等效的,這兩個符號的用法範圍沒有「=」寬泛,只能繫結 內部-內部。

對於介面與元件之間的連線和繫結,這裡補充幾點:

1、隱式繫結:對於s1=s2.a和s1=s2(其中s1為介面,s2為元件,a為元件中提供的介面),這兩個不同的繫結形式,其最終效果是一致的(編譯器會自動在s2中尋找和s1對應的介面)。但建議選用s1=s2.a形式(筆者遭遇過s1=s2不能編譯通過,但s1=s2.a能順利通過的情況)。

2、多「扇入」多「扇出」:對於下面的形式:

x=a1.x;

x=a2.x;

當介面x中的命令被呼叫時,多次繫結將會導致介面x中的事件多次觸發(扇入),以及多個函式的執行(扇出)。

seam中JSF元件繫結

對話元件有乙個小小的限制 它們不能夠被用來儲存對jsf元件的繫結。除非絕對必要,否則我們通常不喜歡使用jsf的這個特性,因為它建立了從應用程式邏輯到檢視的強依賴關係。在乙個postback請求中,元件繫結會在檢視恢復階段中且在seam對話上下文恢復之前被更新。為了解決這個問題,使用乙個事件範圍的元件...

vue父元件與子元件雙向繫結

我們知道父元件通過props可以控制子元件,如果需要子元件控制父元件就需要加乙個v on自定義事件。將vue官方文件中的props和v on繫結自定義事件結合起來,就可以實現父元件與子元件之間的雙向繫結了。這裡在父元件定義乙個輸入框,在子元件中定義乙個下拉框,做個例子吧。在父元件的輸入框中輸入選項,...

SQL中的左連線與右連線的區別

sql中的左連線與右連線的區別 a表 a1,b1,c1 b表 a2,b2 a1 b1 c1 a2 b2 1 跑步 90 1 tom 2 游泳 80 2 lucy 3 跳遠 85 5 gray select a.b.from a left outer join b on a.a1 b.a2 結果是 a...