문제

어떤 일이 쉽게 구현하여 손(코드)지만,일부을 통해 쉽게 WF.그것은 다음과 같 WF 를 만드는 데 사용할 수 있는(거의)모든 종류의 알고리즘이 있습니다.그래서(이론적으로)난 할 수 있는 모든 내에서 논리 WF 지만,그것은 아마도 나쁜 생각을 위해 그것을 할 모든 프로젝트입니다.

어떤 상황에서 그것은 좋은 아이디어를 사용하 WF 때 만들 것입니다 그것은 일을 어렵게 다가?장점과 단점은 무엇입니까/비용의 WF 대코딩에 의해 손?

도움이 되었습니까?

해결책

필요할 수 있습 WF 는 경우에만 어떤 다음 사항:

  1. 당신은 오래 실행되는 프로세스.
  2. 당신이는 프로세스가 자주 변경.
  3. 당신이 원하는 시각 모델의 프로세스.

자세한 내용을 바울은 안드레의 게시물: 무엇을 사용하여 Windows 워크플로에 대한 기초?

를 혼동하지 않도록 주의하시기 바랍 또는 관련 WF visual 프로그래밍합니다.그것은 잘못을 이끌어 낼 수 있는 아주 나쁜 건축/디자인을 결정합니다.

다른 팁

지 않습니다.당신은 아마 그것을 후회합니다:

  • 가파른 학습 곡선
  • 디버깅하기 어려운
  • 을 유지하기 어렵
  • 을 제공하지 않는 충분한 힘을,유연성,생산성을 얻을 정당화하기 위해 사용
  • 할 수 있는 것이패 응용 프로그램 상태로 복구할 수 없습니다

요할 수 있는 임의 WF 사용하면 내가 원하는 호스트는 디자이너에 대한 최종 사용자와 아마도 다음입니다.

신뢰 나에게 아무것도 것으로 간단합니다,강 또는 유연성으로 작성하는 코드는 정확하게 작업을 수행하이 무엇을 할 수 있습니다.멀리에서 WF.

물론,이것은 단지 내 생각,그러나 내가 생각하는 그것의 아주 좋은 하나입니다.:)

에 의해 생성된 코드를 WF 합니다.는 값 WF 제공합에서의 시각적 표현 시스템,하지만 나는 아직 아무 것도 보이지(6-7 프로젝트에서 지금 작업 WF 는 나에도 참여하고 있습니다)여기서 내가 선호하는 간단한 코딩 손으로 프로젝트입니다.

일반적으로,필요하지 않은 경우 고집하고 추적하는 기능(이는 내 생각에는 주요 기능),를 사용하면 안된 워크플로우 기초입니다.

여기에는 장점과 단점의 워크플로우 기초 내에서 수집된 내험:

장점

  • Persistence:려고하는 경우에 당신은 많은 오래 실행되는 공정(생각하는 주),다음의 워크플로가 이것을 위해 중대하다.유휴 워크플로 인스턴스는 유지되도록 데이터베이스에 그것을 사용하지 않는 메모리.
  • 추적WF 제공하는 메커니즘을 추적하는 각 활동에서 실행된 워크플로
  • *비주얼 디자이너:이로*,내가 생각하기 때문에 이것은 정말 유용한 마케팅에 대한 목적입니다.으로 개발자가 작성하는 것을 선호 코드보다 스냅 함께 일을 시각적으로 표시합니다.고 있을 때 비자를 만드는 워크플로,당신은 종종 가진 거대한 복잡 엉망입니다.

단점

  • 프로그래밍 모델:당신이 정말로 제한된 프로그래밍 기능입니다.에 대해 생각하는 모든 위대한 기능이 있 C#,다음 그들을 잊.간단한 하나 또는 두 개의 라인 문 C#가 상당히 큰 차단 활동입니다.이는 특히 고통을 위해 입력 유효성 검사를 수행합니다.즉,당신은 정말 조심하지만 높은 수준의 논리에 워크플로,그리고 다른 모든 것은 C#,다음 그것을 되지 않을 수도 있습니다 문제입니다.
  • 성능:워크플로 사용하는 많은 양의 메모리가 있습니다.배포할 경우 많은 워크플로 서버에 있어야 합 톤의 메모리입니다.또한 워크플로는 보다 훨씬 느리게 정상 C#코드입니다.
  • 가파른 학습 곡선,하드 디버깅:로 위에서 언급된다.당신은 많은 시간을 보내는 방법을 알아내는 것을 알아내는 가장 좋은 방법은 뭔가를 할 수 있습니다.
  • 워크플로 버전 호환성:배포하는 경우에는 워크플로우와 지속성,그리고 필요한 업데이트 워크플로,오래 된 워크플로 인스턴스가 더 이상 호환됩니다.아마도 이것은 고정합니다.NET4.5 입니다.
  • 당신이 사용하 VB 식(.NET4.5 수 있습 C#식).
  • 가동가능하지 않다:필요하신 경우 특별하거나 특정 기능을 제공하지 않는 워크플로우 기초를 준비를 위한 많은 고통입니다.어떤 경우에,그것지 않을 수도 있습도 가능합니다.알고있는 사람을 시도할 때까지?의 많은 여기에 위험을.
  • WCF XAML 서비스 없이 인터페이스:일반적으로 WCF 서비스 개발에 대해 인터페이스입니다.WCF XAML 서비스할 수 없는지 확인 WCF XAML 서비스가 구현되는 모든 것에는 인터페이스입니다.당신이 필요가 없을 정의하는 인터페이스입니다.(내가 알기로는...)

주요 이유를 발견했을 위한 워크플로를 사용하여 재단이 얼마나 그것의 당신을 제공자의 관점에서 추적하고 지속성을 알려준다.그것은 매우 쉽게 얻을 지속화 서비스 실행,제공하는 신뢰성 및 부하 분산 사이의 여러 인스턴스 및 호스트가 있습니다.

에 다른 손으로 그냥 같은 형태램,코드는 패턴 워크플로 디자이너로 너는 나빴다.하지만 당신은 피할 수 있는 문제로 쓰는 코드에서는 워크플로에 위임하는 모든 일을 다른 클래스가 될 수 있는 조직적이고 유닛 테스트하는 것이 더 적절 보다는 워크플로우.다음 당신은 멋진 시각적 측면은 디자이너의 없이고 싶지 않은 스파게티의 코드니다.

개인적으로 난에서 판매 WF.그것은 유용성로하지 않았다는 것을 분명히 다른 새로운 MS 기술,다음과 같 WPF 또는 WCF.

나는 생각 WF 사용되는 것에 많은 비즈니스 애플리케이션은 미래에,그러나 나는 계획이 없기 때문에 그것을 사용하지 않는 것 같은 오른쪽에 도구는 작업에 대한 프로젝트입니다.

회사는 나는 현재 작업에 대한 설정 Windows 워크플로우 기초(WF)및 이유로 그들이 선택한 그것을 사용하였기 때문에 규칙은 자주 변화하고 있는 힘이 그들을 다시 컴파일한 다양한 dll 등등 그래서 그들의 솔루션을 배치하는 규칙에서 DB 그들을 부르십니다.이 방법을 변경할 수 있습 규칙을 다음과 같이 다시 컴파일하고 재배포 dll 을 등입니다.

Windows 워크플로우를 유혹 non-코딩 매니저,바와 같은 사 BizTalk 하지만 실제 단위 테스트,디버깅,코드 범위는 단지 세 가지의 많은 함정이 있습니다.을 극복할 수 있습니다 그들 중 일부는 하지만 당신은 많은 투자가에 달성하는 반면 일반 코드에 당신에게 변경 사항을 제공합니다.당신이 진정으로 당신이 오래 실행되는 요구 사항 아마 그렇다면 뭔가 더 정교한입니다.본 인수할 수 있는 것에 대해 드롭으로 파일을 새 xaml 생산지 않고 다시 컴파일 dll 을 하지만 정직하게는 워크플로를 소모할 것이 더 좋을 수 있을 개선하는 데 사용의 지속적인 통합을 지점에 컴파일을 배포하지 않는 문제입니다.

내가 사용하는 것 그것이 어떤 환경에서 어디로 나는 일할 필요가 워크플로,그러나 그 때 그것을 사용하여 보완하기 K2 또는 SharePoint2007 전력의 플랫폼은 정말 유용합니다.을 개발할 때 사용하여 비즈니스 응용 프로그램 BI 전문가 플랫폼의 사용을 권장하며 이것은 일반적으로만 관련을 간소화하고 비즈니스 프로세스를 개선.

에 대한 기록 WF 과 함께 개발되었 K2 의 개발 팀은 새로운 K2 모집 파견의 상단에 내장되어 WF,그래서 이끼 2007 및 WSS3.0 의 워크플로우 엔진이 있습니다.

고 싶지 않을 때 수동으로 쓰는 모든 코드를 유지하는 시각적 인터페이스,추적하고 지속성,그것의 현명한 선택에 대한 투표를 WF.

었을 사용하여 Windows 워크플로를 위해 달려면 지금 개발하는 사용자 정의 활동하고 다시 호스팅 디자이너는 비자를 구축하는 데 사용할 수 있습 워크플로우를 경험할 수 있습니다.WF 은 매우 강력하지만,그것은뿐 아니라 좋은 사용자 지정되어 활동장에 의해 개발자입니다.지 올 때,그것은 개발자가 워크플로우에 의해 건축되는 비자 테스트와 디버깅하지만에서 지점을 만들 수 있는 초안의 워크플로-그것은 환상적이다.

또한,경우에 당신은 오래 실행되는 프로세스 WF 는 좋은 기술은 스택을 사용하여 업데이트할 필요가 있을 때 프로세스를 동적으로 필요없이 다시 다운로드/또는 아무것도 추가 새로운 XAML 파일이 있는 디렉터리 및 아키텍처 설정해야 버전 관리를 스크랩하는 오래된 하나를 사용하여 새로운 하나입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top