공들여 나열한 것 | 제목 | 고유 링크 | 설명 | 날짜 | 태그 |
---|---|---|---|---|---|
우편 | MvvmForms 읽어보기 | 새 페이지.html | Mvvm 양식에 대한 읽어보기 | 2015-05-17 16:31:30 -0700 | MVVM; 윈도우 폼 |
ActiveDevelop의 MvvmForms 라이브러리 프로젝트에 오신 것을 환영합니다. MvvmForm의 목적은 완전한 WinForms Designer 지원을 포함하여 Windows Forms Visual Basic 및 CSharp 프로젝트 및 솔루션에 대한 XAML ViewModel 호환 지원을 제공하는 것입니다. MvvmForms는 오픈 소스(GPL)이지만 이중 라이선스입니다. MvvmForms 라이선스에 대한 자세한 내용은 아래 라이선스 섹션을 읽어보세요.
새 프로젝트를 깔끔하게 시작할 수 있고 개발 팀이 작업을 수행할 수 있다면 MvvmForms가 필요하지 않을 가능성이 높습니다. 하지만 그런 경우가 자주 있는 것은 아닙니다. 대부분의 시나리오에서는 1996년에서 2010년 사이에 Windows 플랫폼용으로 수억 줄의 코드가 작성되었으며, Windows Forms용 CSharp 및 Visual Basic .NET, 심지어 Visual Basic 6에서도 작성되었습니다. 해당 프로젝트를 버리고 처음부터 시작할 수 있는 수단이 있습니다. 그리고 어쨌든 무엇을 위해? 귀하의 솔루션은 작동하고 안정적이며 테스트되었습니다. 그렇다면 계속 사용하는 것은 어떨까요?
MvvmForms는 개발 패러다임을 바꾸고 싶다면 당신을 위한 것입니다. Code Behind를 제거하고 관심사를 분리하여 좋은 아키텍처를 도입하고 싶다면. 단위 테스트를 허용하는 아키텍처를 기반으로 구축하려는 경우. Windows Universal Apps, iOS Apps 또는 Android Apps와 같은 다양한 UI에 대해 소프트웨어의 큰 부분을 재사용할 수 있는 부분별로 리팩토링하여 기존 소프트웨어에서 다중 계층 아키텍처를 생성하려는 경우.
독일 베스트팔렌에 위치한 저희 회사는 일반적인 Windows Forms Code Behind 패러다임에서 현대 아키텍처로 마이그레이션하는 것을 전문으로 하고 있습니다. 그리고 우리는 실현 가능한 방식으로 이를 수행하도록 돕습니다. 우리는 귀하의 팀이 처음부터 시작할 시간이나 예산이 없다는 것을 알고 있습니다. 이것이 바로 우리가 MvvmForms를 개발한 이유입니다. 고객이 프로젝트를 위험에 빠뜨리지 않고 소프트웨어 개발의 새로운 세계로 들어갈 수 있도록 돕기 위해서입니다.
MvvmForms는 Windows Forms용 컨트롤 컬렉션입니다. 원래는 데이터가 많은 양식의 개발 프로세스 속도를 높이고 DBNull의 간편한 처리, 양식의 더티 상태 처리, 포커스 강조 표시, 처리와 같은 일반적인 시나리오를 통해 데이터베이스 백엔드의 요구 사항을 해결하도록 설계되었습니다. 숫자 데이터 입력 필드의 수식, 최대 100,000개 항목 컬렉션에 대한 다중 스레드/다중 열 조회 팝업 등. 2012년 중반쯤, 두 개의 독일 회사가 기존 Windows Forms 디자인을 유지할 방법을 찾기 위해 우리에게 접근했지만 그들은 LOB 응용 프로그램의 일부에 Mvvm 패턴을 적용하여 이 코드를 재사용할 수 있기를 원했습니다. 모바일 앱 및 기타 목적으로. 이것이 MvvmForms의 시작이었고 우리는 기존 도구 세트에서 이를 개발했습니다. 이것은 매우 잘 작동했기 때문에 우리는 이 접근 방식을 계속하고 Mvvm 구성 요소에 대한 풍부한 디자이너 기능을 추가했습니다.
이러한 기록으로 인해 MvvmForms는 실제로 두 가지 Windows Forms 요구 사항을 해결합니다. 첫 번째는 NullableDateValue, NullableNumValue, NullableTextValue와 같은 컨트롤, Forms의 DirtyState 처리 컨트롤 등을 제공하여 데이터가 많은 양식 디자인을 단순화하는 것입니다.
두 번째는 Mvvm용 Windows Forms를 활성화하는 것입니다. 이를 끝내려면 MvvmForms가 제공하는 컨트롤 중 하나를 사용할 필요가 없으며 MvvmManager 구성 요소 하나만 있으면 됩니다. 기본적으로 해당 구성 요소를 양식으로 끌어서 DataContextType 속성을 바인딩하려는 ViewModel 유형으로 설정하면 해당 양식의 모든 컨트롤이 해당 ViewModel 속성에 대해 바인딩할 수 있는 PropertyBindings 속성을 얻게 됩니다. 런타임에 MvvmManager 구성 요소의 DataContext 속성을 설정하기만 하면 됩니다. 시작하기 위한 간단한 단계별 가이드를 찾을 수 있으며, 위키를 읽어보세요. 링크는 여기 오른쪽에 있습니다.
맨 위: MvvmForms뿐만 아니라 일반적인 MVVM에 대한 소개를 제공하는 YouTube 소개 비디오를 살펴보세요.
https://www.youtube.com/watch?v=1R_81Np5New
아, 그렇죠! ActiveDevelop의 우리 팀은 매일 MvvmForms를 관리하고 있습니다. 독일의 몇몇 대규모 프로젝트가 MvvmForms에 의존하기 때문입니다. 일부는 100만 줄 이상의 코드입니다. 우리는 독일 회사이고 MvvmForms를 영어로 현지화하기 시작했기 때문에 소스 내부에는 여전히 많은 독일어 주석과 XML-Docu-Tags가 있지만 우리는 이에 대해 작업 중입니다. 그러나 MvvmForms는 사용할 준비가 되어 있으며 안정적이고 신뢰할 수 있으며 철저한 테스트를 거쳤습니다. 특별한 지원이 필요하거나 긴급하게 시작하고 기능을 사용자 정의, 현지화 또는 확장해야 하는 경우 단순히 저희에게 문의하는 것보다 우리는 이것을 가능하게 하는 방법을 찾을 수 있습니다.
예, 제한이 없습니다. 현재 프로젝트의 3분의 1은 CSharp에 있고 나머지는 VB에 있으며 MvvmForms(예: Mvvm Base Library)의 일부도 CSharp에 있습니다. 다른 부분은 VB에 있습니다. 따라서 Windows Forms만 사용하면 됩니다. 언어는 중요하지 않습니다.
예, 오픈 소스 프로젝트의 경우입니다. 타당성 있는 상업용 프로젝트의 경우 완전히 무료는 아니지만 거의 무료와 비슷합니다. 우리의 주요 목표는 LOB 응용 프로그램 설계에 대한 25년 이상의 전문 지식을 바탕으로 도움을 줄 수 있는 새로운 기회를 찾고, 특히 고객이 소프트웨어를 대규모의 모놀리식 Win32 소프트웨어에서 위험 없이 현대적인 접근 방식으로 마이그레이션할 수 있는 방법을 보여주는 것입니다. 모든 것을 처음부터 다시 하지 않고도 클라우드 컴퓨팅, Windows 10, 모바일 앱 등을 계속 사용할 수 있습니다.
따라서 워크샵 수행, 새로운 아키텍처 설계 지원, 실행 가능한 마이그레이션 개념 찾기, 팀에 스크럼 소개 또는 제한된 기간 동안 인적 자원 제공을 통해 기존 애플리케이션에 대한 도움을 원하신다면 현대화 프로세스에 MvvmForms를 도입합니다. 그렇다면 귀하는 우리 고객이기 때문에 무료입니다. 계속 사용해 보세요. 귀하가 한때 당사의 고객이거나 과거 고객이었던 경우 모든 상업적 용도에 대한 묵시적 라이센스를 갖게 됩니다. 그러나 우리를 원하지 않지만 도구 세트를 원하신다면 우리에게 문의하시면 [email protected]에서 귀하에게 가장 적합한 지원 모델을 찾아드립니다.
GPL에 따라 오픈 소스 프로젝트를 유지 관리하고 있으며 이를 사용하려는 경우. 계속 진행하세요. 포크하고 수정하여 오픈 소스 앱과 함께 판매하세요. 그것은 오픈 소스입니다! MvvmForms에서 파생된 클래스를 사용하거나 연결하는 응용 프로그램도 GPL이라면 완벽하게 괜찮습니다. 그러나 적절한 폐쇄 소스 솔루션을 관리하고 MvvmForms를 사용(링크, 파생)하려는 경우 활성 개발자당 하나의 라이선스를 얻어야 합니다.
예. 끌어오기 요청을 생성하면 됩니다.