Nie jestem pewien co do historii, ale przypuszczam, że termin "wiązanie" w tym znaczeniu wywodzi się z terminu "wiązanie danych". "wiązanie danych" jest w rzeczywistości akcją: zapełnia formanty interfejsu użytkownika wartościami z rzeczywistych danych, model AKA, na przykład gdy pola w formularzu są wypełniane danymi z bazy danych i są automatycznie aktualizowane, korzystając z wzorca obserwatora, o którym wspomniałeś . Myślę, że główne rozróżnienie z wiązaniem jest jednokierunkowe a dwukierunkowe: w dwukierunkowym wiązaniu danych dane wejściowe użytkownika są również synchronizowane z powrotem do modelu, a nie tylko dane synchronizowane z modelu do widoku.
"Wiązanie" jest czasownikiem, a forma czasownika "wiązania danych" będzie "wiążąca dane" lub "wykonująca wiązanie danych". Drugi przykład pokazuje, że "wiązanie danych" jest również rzeczownikiem, które można zdefiniować jako "akt wiązania właściwości danych/modelu z właściwościami UI/view". Jeśli chodzi o samą rzeczownikową wersję "wiązania", myślę, że masz rację, że zwykle odnosi się do pojedynczego powiązania między dwiema właściwościami. Aby to wykazać wizualnie załóżmy, że kropki reprezentują dwie właściwości, które są połączone ze sobą:
• ----- •
„wiązanie” tu jest linia między nimi.
Aby uzyskać bardziej szczegółowe, jednokierunkowa wiązania mogą być reprezentowane za pomocą jednego strzałka:
• ----> •
i wiążące się z dwoma strzałkami dwukierunkowa:
• < ---> •
"powiązanie na żywo" to termin używany tylko do wskazania, że używany jest wzorzec Obserwator.Sądzę, że chęć odróżnienia "żywych powiązań" prawdopodobnie pochodzi od twórców stron internetowych, którzy wcześniej pracowali z frameworkami, w których wiązanie danych zdarzało się tylko raz na żądanie HTTP, kiedy strona była ładowana po raz pierwszy. Teraz, gdy ciężkie aplikacje internetowe stają się normą (częściowo dzięki ajaxowi), nie ma powodu, aby nie używać wzorca Obserwatora, jak sugeruje oryginalna definicja MVC, więc "wiążące na żywo" jest prawdopodobnie niepotrzebnym terminem w odniesieniu do RIA lub natywne aplikacje komputerowe lub mobilne.
Na marginesie oryginalna wizja MVC Trygve'a Reenskauga (on ją wymyślił) jest zasadniczo odzwierciedleniem modelu mentalnego użytkownika końcowego w systemie, tak aby "Model" był czymś, co użytkownik niemal bezpośrednio manipuluje (lub przynajmniej czuje się w ten sposób dla użytkownika). Tak więc wzorzec Obserwatora (lub przynajmniej pewien mechanizm utrzymujący Model i Widok zsynchronizowany bez ponownego ładowania strony) jest dla niego niezbędny, a środowiska programistyczne, które mają większość kodu po stronie serwera, nie są tak naprawdę MVC, jak pierwotnie zostały pomyślane, ale raczej wariant, który ma tę samą ogólną koncepcję pod względem organizacji kodu. Nowoczesne środowiska JavaScript dla aplikacji bazujących na klientach umożliwiają tworzenie MVC do tworzenia stron internetowych.
Wracając do punktu, który zadałeś w pytaniu, myślę, że również masz rację, gdy mówisz, że powiązanie niekoniecznie jest po prostu między właściwością modelu a właściwością widoku; może to być między dwiema właściwościami modelu (zwykle w różnych modelach) lub między dwiema właściwościami widoku. Ale nie zgodziłbym się z twoim stwierdzeniem, że "wiązanie" jest tylko rzeczownikiem w odniesieniu do programowania - oczywiście w języku angielskim jest to forma rzeczownika czasownika "wiązanie", innymi słowy "akt wiązania" i uważam, że jest to ważne użycie również w programowaniu. Zasadniczo mówię, że ma on podwójne znaczenie, ale uważam, że zaproponowana definicja jest najbardziej powszechna. Oto moja próba sformalizowania definicji:
Wiązanie.
- Połączenie dwóch właściwości (zwykle, w dwóch różnych obiektów), które zachowuje właściwości zsynchronizowane ze sobą, to znaczy o tej samej wartości. Synchronizacja może być jednokierunkowa lub dwukierunkowa.
- Czynność inicjowania takiego połączenia.
Tylko moje dwa centy, IMO są coraz to absolutnie rację co jest wiążąca, a żyć wiążąca jest prawie tak samo pod inną nazwą dla niego. – intuitivepixel
Myślę, że bardzo dobrze odpowiedziałeś na swoje własne pytanie. :) –