2014-04-07 1 views
1

WPF, AngularJS (Javascript), JSTL (JSP)과 같은 많은 데이터 바인딩 프레임 워크를 보아 왔습니다. 그들은 UI와 데이터를 완전히 분리하려고합니다.데이터 바인딩 프레임 워크의 단점은 무엇입니까?

그러나 한 가지 주요한 문제는 복잡성을 추가한다는 것입니다. 때로는 한 줄의 UI 코드에 대해 (예를 들어 뷰 클래스를 확장하기 위해) 많은 추가 코드를 작성해야합니다.

현대 응용 프로그램에서는 하나의 UI 요소를 한 상태에서 다른 상태로 변경할 때 많은 전환 애니메이션이 있습니다. 데이터 바인딩 프레임 워크를 사용할 때 쉽지 않은 것처럼 보입니다.

데이터 바인딩 프레임 워크를 사용하는 다른 단점이 있습니까? How to set focus on input field?

+1

'무엇이 더 복잡합니까?' 당신은 하나의 기술에 귀하의 질문에 집중해야합니다. WPF는 선언적 마크 업을 제외하고는 웹 기술과 아무 관련이 없습니다. –

+2

특정 요구 사항없이 특정 기술이나 프레임 워크를 평가하는 것은 의미가 없습니다. – voddy

답변

1

모든 다음의 는 WPF를 말합니다 :


예를 들어, 참조, AngularJS와에, 텍스트 입력에 너무 복잡를 초점을 설정합니다.

한 줄의 UI 코드에만 많은 코드 (예 :보기 클래스를 확장)를 작성해야합니다.

WPF와 관련하여 이것은 드문 경우이지만 예를들 수 있습니까?

하나의 UI 요소를 한 상태에서 다른 상태로 변경할 때 많은 전환 애니메이션이 있습니다. 버전의 .NET 3.5 이후

WPF에서

VisualStateManager 출연 :

VisualStateManager가 특정 상태에있을 때, 컨트롤에 대한 컨트롤의 모양을 상태를 지정할 수 있습니다을 때 컨트롤을 상태를 바꿉니다.

그의 목표는 응용 프로그램 상태를 정의하고 각 상태가 애니메이션과 같은 작업을 수행하는 것입니다. 이 상황에서 바인딩은 그대로 사용되지 않습니다.

데이터 바인딩 프레임 워크를 사용할 때 쉽지 않은 것처럼 보입니다.

나는 그것이 단점이라고 생각하지 않습니다. 귀하가 언급 한대로 데이터 바인딩이 필요합니다 : separate UI and Data completely. 실제로 전체 MVVM 패턴은 데이터 바인딩과 같은 강력한 기술을 기반으로합니다. 이 기능을 사용하면 ViewModel을 통해 모델과 뷰 간 추상 연결을 만들 수 있습니다. 그리고 핵심 단어는 Data입니다. 데이터가있는 모든 곳에서는 Data Binding을 사용하는 것이 더 좋습니다.

BindingValidation, Converters 등과 같이 많은 흥미로운 것을 할 수 있습니다. 일반적으로 Binding 속성 등에 사용됩니다. VisualStateManager, Triggers, DataTriggers 등과 같은 다른 기능을 사용하여 UI 작업을 수행하고 대상에 사용할 때 어렵지 않습니다. 익숙해 져야합니다.

유일한 단점은 - Binding은 다른 용도 (예 : 변환기없이 사용할 수없는 경우)에서 사용할 수 있다는 것입니다. 그리고 예, 처음에는 이상하게 보일 수도 있지만, 이것이 단점이라고 생각하지 않습니다. 다른 기술에 대해서도 마찬가지라고 생각합니다.

단점이라 할지라도 성능에 대해 말할 수 있습니다. 값을 직접 할당하거나 Binding을 통해 할당하는 경우 값을 직접 할당하는 것이 더 빠릅니다. 하지만 Bindings의 장점은 많은 관심을 기울이지 않는다고 생각합니다.

관련 문제