손으로 직접 구현하는 것이 더 쉬운 것도 있지만 (코드) 일부는 WF를 통해 더 쉽게 구현할 수 있습니다. WF를 사용하여 거의 모든 종류의 알고리즘을 만들 수 있습니다. 따라서 (이론적으로) WF에서 모든 논리를 수행 할 수는 있지만 모든 프로젝트 에서이 작업을 수행하는 것은 좋지 않습니다.
어떤 상황에서 WF를 사용하는 것이 좋으며 언제보다 힘들게해야합니까? WF 대 코딩의 장단점은 무엇입니까?
손으로 직접 구현하는 것이 더 쉬운 것도 있지만 (코드) 일부는 WF를 통해 더 쉽게 구현할 수 있습니다. WF를 사용하여 거의 모든 종류의 알고리즘을 만들 수 있습니다. 따라서 (이론적으로) WF에서 모든 논리를 수행 할 수는 있지만 모든 프로젝트 에서이 작업을 수행하는 것은 좋지 않습니다.
어떤 상황에서 WF를 사용하는 것이 좋으며 언제보다 힘들게해야합니까? WF 대 코딩의 장단점은 무엇입니까?
답변:
다음 중 하나에 해당하는 경우에만 WF가 필요할 수 있습니다.
자세한 내용은 Paul Andrew의 게시물 : Windows Workflow Foundation 사용 대상을 참조하십시오 .
WF를 어떤 종류의 시각적 프로그래밍과 혼동하거나 연관시키지 마십시오. 잘못되어 매우 잘못된 아키텍처 / 디자인 결정으로 이어질 수 있습니다.
못. 당신은 아마 그것을 후회할 것입니다 :
WF 사용을 생각할 수있는 유일한 시간은 최종 사용자를 위해 디자이너를 호스팅하고 싶을 때뿐입니다.
나를 믿으십시오. 필요한 작업을 수행하기 위해 작성한 코드만큼 간단하거나 강력하거나 유연하지 않습니다. WF에서 멀리 떨어지십시오.
물론 이것은 내 의견 일 뿐이지 만, 그것이 좋은 것이라고 생각합니다. :)
일반적으로 지속성 및 추적 기능이 필요하지 않은 경우 (내 의견으로는 주요 기능 임) Workflow Foundation을 사용하지 않아야합니다.
내 경험에서 수집 한 Workflow Foundation의 장단점은 다음과 같습니다.
장점
단점
워크 플로 파운데이션을 사용하여 찾은 주요 이유는 추적 및 지속성 측면에서 얼마나 많은 이점을 제공하는지에 대한 것입니다. 지속성 서비스를 시작하고 실행하는 것은 매우 쉬워 여러 인스턴스와 호스트간에 안정성과로드 분산을 제공합니다.
반면, 양식 앱과 마찬가지로 워크 플로 디자이너가 사용자에게 제공하는 코드 패턴은 나쁩니다. 그러나 워크 플로에 코드를 작성하지 않고 모든 작업을 다른 클래스에 위임하여 문제를 피할 수 있습니다. 워크 플로보다 체계적으로 구성하고 단위 테스트를 수행 할 수 있습니다. 그런 다음 스파게티 코드를 숨기지 않고도 디자이너의 멋진 시각적 측면을 얻을 수 있습니다.
현재 WF (Windows Workflow Foundation)를 설정하기 위해 노력하고있는 회사와 규칙을 자주 사용하는 이유는 규칙이 자주 변경되어 다양한 dll 등을 다시 컴파일해야하기 때문입니다. DB에 규칙을 배치하고 거기서부터 호출해야했습니다. 이런 식으로 규칙을 변경하고 dll 등을 다시 컴파일하고 재배포 할 필요가 없습니다.
Windows Workflows는 사촌 BizTalk와 마찬가지로 비 코딩 IT 관리자, BA 등을 유혹하지만 실제로 단위 테스트, 디버깅 및 코드 적용 범위는 많은 함정 중 3 가지에 불과합니다. 당신은 그들 중 일부를 극복 할 수 있지만 그것을 달성하기 위해 많은 투자를 해야하는 반면 일반 코드를 사용하면 얻을 수 있습니다. 실제로 오래 실행되는 요구 사항이 있다면 더 정교한 것이 필요할 것입니다. dll을 다시 컴파일하지 않고 새로운 xaml 파일을 프로덕션에 드롭 할 수 있다는 주장을 들었지만 솔직히 Workflows가 소비하는 시간은 컴파일 된 배포가 문제가되지 않는 시점까지 Continuous Integration을 개선하는 데 더 잘 사용될 수 있습니다.
저는 몇 달 동안 Windows 워크 플로를 사용하여 개발자가 아닌 사용자가 워크 플로를 작성하는 데 사용할 수있는 사용자 지정 활동 및 다시 호스팅 된 디자이너를 개발했습니다. WF는 매우 강력하지만 개발자가 구축 한 사용자 지정 활동만큼 좋습니다. 문제가 발생하면 개발자는 개발자가 아닌 사람이 제작 한 워크 플로를 테스트하고 디버깅해야하지만 초안 워크 플로를 만들 수있는 시점에서 환상적인 워크 플로를 검토해야합니다.
또한 프로세스를 오래 실행하는 경우 WF는 프로세스를 동적으로 업데이트해야 할 때 다시 설치 / 다운로드하거나 아무것도하지 않고도 사용할 수있는 좋은 기술 스택입니다. 디렉토리에 새 XAML 파일을 추가하기 만하면됩니다. 이전 버전을 스크랩하고 새 버전을 사용하도록 버전 관리를 설정합니다.