Programming 썸네일형 리스트형 #MVVM 패턴 개요 응용프로그램의 비즈니스 로직과 프리젠테이션 로직을 UI와 명확하게 분리하는데 도움을 준다. 이는 다양한 개발 및 설계 이슈들을 제시하는 데 도움을 주고, 응용프로그램의 테스트와 유지보수를 쉽도록 한다. 뿐만 아니라, 코드 재사용 가능성을 증가시키고, 개발자와 UI 디자이너 간의 협력을 용이하도록 한다. 이 패턴을 사용하면 응용프로그램의 UI와 프로젠테이션 로직 및 비즈니스 로직이 세개의 분리된 클래스로 나뉜다. 즉, 뷰는 UI와 UI로직, 뷰모델은 프레젠테이션 로직과 상태, 모델은 응용프로그램의 비즈니스 로직과 데이터를 각각 캡슐화 한다. 즉, MVVM패턴을 사용하면 뷰와 비즈니스 로직 간의 연결이 느슨해지기 때문에, 뷰나 비즈니스로직 둘 중 하나가 변경이 되더라도 다른 부분에 영향을 미치지 않는다.ㅣ 더보기 #Path에 관한 간단한 메모 Path는 생략이 가능한 코드라고 한다.일종의 가독성을 높이기 위한 코드라고 보면 될 것 같은데, 아무튼 아래의 세개는 모두 같은 코드이다. { Binding MyProperty }{ Binding Path = MyProperty }{ Binding FallbackValue='HelloWorld', Path = MyProperty } 더보기 #MVVM 구현 MVVM 패턴의 View와 ViewModel의 구현뷰모델(ViewModel)은 뷰(View)가 필요로 하는 데이터와 커맨드 객체를 노출시키고, 뷰는 이 객체를 이용하여 데이터를 바인딩한다. 뷰에 바인딩 하기 위한 데이터의 타입은 기본적으로 get, set과 같은 접근자만으로 이뤄진 Property 타입이어야 한다.C#에서 뷰모델은 ICommand라는 인터페이스를 이용하여 뷰가 요구하는 각 Command를 정의할 수 있다. 이 때, MVVMBase 라이브러리를 사용한다면 ICommand의 별도 구현없이 바로 Command 객체를 생성할 수 있다. 만약 뷰모델의 데이터가 뷰에 바인딩되어 있고, 사용자가 뷰를 통해 이 데이터를 조작한다면, 뷰모델은 PropertyChangedEventHandler라는 이벤트 .. 더보기 #ControlTemplate C#으로 아래와 같이 생긴 뷰를 만들어야 된다. 가장 쉽게 접근할 수 있는 방법이 ScrollViewer인 것 같아서 Blend로 띄워보니 아래처럼 생겼다.파란 네모(실제로는 어떤 컨트롤이 되겠죠?)만 추가하면 되는데 요리조리 Blend와 ListView의 하위 메소드를 뒤져봐도 그런건 나오지 않는다. 스타일 지정 문제인가 싶어 조금 뒤져보니 역시 스타일 문제이다. ControlTemplate를 이용하면 이미 구현되어 있는 View를 필요한 형태로 수정할 수 있다. 더보기 #ResourceDictionary 사용 시 주의 사항 안드로이드로 개발을 할 때 흔히 볼 수 있는 '매니페스트' 파일.그 파일은 안드로이드 기기와 액티비티 동작과 관련된 상세한 설정들이 적히는 곳이다. WPF에도 그런 곳이 있나보다. 이름만 봐도 App.xaml , App.config 라고 하는 이곳은 당장에는 아니지만, 시간이 지나고 개발이 진행될수록 무엇인가 계속 추가되지 않을까 싶다. 결과적으로는 아래의 사진과 같은 형태로 내용이 계속 추가될 것이다.위 사진에 나오는 App.xaml에는 ResourceDictionary인 Style.xaml이 MergedDictionaries로 추가되어 있다.추가하지 않으면 Button의 Template로 Style.xaml에 있는 btTem이라고 지정된 DynamicResource를 참조할 수 없다. 잊지 말고 꼭꼭.. 더보기 #WPF 간단한 ListView 실습 cs, xaml 파일 구성- MainWindow.xaml- MainWindow.xaml.cs- User.cs MainWindow.xaml MainWindow.xaml.cs User.cs 이쯤이야 뭐... 결과 더보기 #Dictionary 자바에서 사용하던 해쉬 테이블이랑 비슷한 듯. 딕셔너리는 키와 밸류가 구성된다.Key - Value 의 Pair로 구성.끝. 더보기 #MVC, MVVM 패턴 메모 MVC 패턴M ( Model ) : 비즈니스 로직과 데이터를 다루는 영역V ( View ) : 프리젠테이션 로직을 담당C ( Controller ) : 사용자의 요청을 받아 적절한 비즈니스 로직을 선택하고 호출하고, 뷰를 통해 그 결과를 보여줌- 디자인과 개발의 영역을 분리 비지니스 로직 : 데이터를 가공 및 수정 . 처리프리젠테이션 로직 : 디자인 구성을 위한 로직 MVVM 패턴MVC에서 컨트롤러가 뷰모델로 교체된 형태, 뷰모델은 UI레이어 아래에 위치뷰모델(ViewModel = VM)은 뷰가 필요로 하는 데이터와 커맨드 객체를 노출 = 데이터와 액션을 담고 있는 컨테이터 객체What is MVVM?- View knows nothing about Model- Model knows nothing abou.. 더보기 이전 1 ··· 11 12 13 14 15 다음