在用户界面或业务层使用WF吗?如果在UI层,那么有人在业务层编码甚至需要使用或学习呢?
克里斯提出了一个很好的答案,所以我会采取一个不同的方向.工作流与逻辑不一样.工作流通常是逻辑的组合,这使得它们成为整体的免费贡献者.在业务组件很好地封装单一业务规则或行为的情况下,工作流组成多个业务组件,规则和行为,以满足更大,更长时间运行的业务流程的需求.

工作流程可以随时随地填充UI,业务甚至数据层的流程需求.如果您最终使用WF,我强烈建议您培训您的一般开发人员,以便有广泛的知识和理解.尽管有一个可视化的方面,WF仍然需要一些低级编码来建立一个活动库,这样工作流创建者和维护者将会使用它.

编辑:

由你决定是否使用它.一般来说,大型项目使用WF,因为WF提供了宝贵的投资回报. WF比简单的编写代码更难使用.有一个相当陡峭的学习曲线,需要采用不同的方式来解决业务问题,并需要特殊的技能.为WF提供代码增加了开销,因为您必须编写可能在工作流中使用的活动,以及自己构建工作流.

如果您认为使用WF为您的小型项目提供有价值的投资回报,那么请继续.您将需要收回培训,基础设施实施和部署的初始成本,并通过简单编写代码来解决手头存在的问题,从而提供长期有形的成本节省.我会怀疑WF会提供一个小项目这样的投资回报率.对于大型项目或单个大型公司的多个综合项目,与小型项目相比,实现ROI更容易实现,这就是WF等工作流平台通常仅用于规模.

Windows Workflow Foundation在哪里使用?的更多相关文章

  1. ios – UIColor到十六进制(网页颜色)

    有没有简单的方法将UIColor转换为十六进制值?

  2. ios – 如果我将自动释放的对象桥接到Core Foundation,我必须使用__bridge或__bridge_retained吗?

    ARC迁移工具遇到了这个问题:特别是,它不确定它是否应该执行__bridge或__bridge_retained.而我也是.-fileURLWithPath返回一个自动释放的对象,在这个地方我不是fileURL的所有者.但与此同时,该对象的保留计数至少为1.我敢打赌,这只能用__bridge来完成.解决方法您只想为此使用常规__bridge强制转换.仅当您想要管理强制转换CF对象的生命周期时,才会使用__bridge_retained.例如:所以__bridge_retained确实告诉编译器你有一个AR

  3. Swift学习笔记十七——导入Foundation使用更多字符串功能

    在Xcode6.3版本中,默认创建playground项目时会导入一个UIKit包。但是如果没有导入UIKit包,可以通过importFoundation,来使用更多的字符串功能。字符串首字母大写方法:capitalizedString输出结果如下:。但是最初str的值并未改变。删除字符串前缀后缀方法:stringByTrimmingCharactersInSet输出结果:。以上方法都在Foundation下,使对字符串的操作更加灵活方便。

  4. Swift中的集合类数据结构

    在那种情况下,你将会需要一种基本的集合类数据结构。继续学习,你将会比较成熟的Cocoa数据结构与对应的纯Swift结构的性能。常见iOS数据结构iOS中三种最常用的数据结构是arrays,dictionaries和sets。除了在Swift和Objective-C中旧的Foundation框架中的数据结构,现在又有了新的仅支持Swift版本的数据结构与语言紧密结合在一起。Swift数组是同质的,意味着每一个Swift数组都只包含一种类型的对象。

  5. Swift 2.0学习笔记Day 1——我的第一行Swift代码

    importFoundationvarstr="HelloWorld"print晕晕、好吧,低头继续往下看,哦明白了第一句:importFoundation表示引入Foundation框架。Foundation是OSX和iOS应用程序开发的基础框架,它包括了一些基本的类,如数字、字符串、数组、字典等。UIKit框架是iOS图形用户界面开发需要框架,包括常见的视图和视图控制器等。

  6. Swift访问Foundation框架

    Foundation框架提供了大量的界面无关的api,为CoreFoundation框架的许多功能提供了Objective-C和Swift的封装。Foundation定义了大量的类,大体可分为值对象集合操作系统服务:文件系统、URL、进程通讯通知归档和序列化-下面的代码,基于Swift,对Foundation常用的api进行了简单的访问。包括结构体NSRange、NSSize、NSPoint,日期NSDate,字符串Nsstring,文件读写,字典操作等。说明写在注释中。

  7. 《从零开始学Swift》学习笔记Day60――Core Foundation框架

    虽然在Swift中调用这种C语言风格的API比较麻烦,但是在OSX和iOS开发过程中,有时候使用CoreFoundation框架的API是非常方便的,例如在与C语言混合编码的时候。CoreFoundation框架与Foundation框架紧密相关,他们具有与相同的接口,但是不同。CoreFoundation框架是基于C语言风格的,而Foundation框架是基于Objective-C语言风格的。看看Swift原生类型与CoreFoundation类型之间的转换示例:这个转换过程中CoreFoundatio

  8. 《从零开始学Swift》学习笔记Day 61――Core Foundation框架之内存管理

    Swift类型内存管理是采用ARC,Foundation类型和CoreFoundation类型内存管理都是采用MRC或ARC,CoreFoundation类型内存管理是基于C语言风格的,它有一个对象所有权的概念Objective-C的MRC内存管理CoreFoundation的内存管理与Objective-C的MRC内存管理密不可分,先介绍一下Objective-C的MRC内存管理。为了保证对象的存在,可以调用retain方法保持对象,retain方法会使其引用计数加1,如果不需要这个对象可以调用rele

  9. 《从零开始学Swift》学习笔记Day 62――Core Foundation框架之内存托管对象与非托管对象

    内存非托管对象内存非托管对象就是内存需要程序员自己管理。这是由于在获得对象的方法中没有使用CF_RETURNS_RETAINED或CF_RETURNS_NOT_RETAINED注释声明,编译器无法帮助管理内存。内存非托管对象使用起来有些麻烦,要根据获得所有权方法,进行相应的处理。调用者不再使用对象时候,Swift代码中需要调用CFRelease函数放弃对象所有权,这是因为Swift是ARC内存管理的。

  10. Swift:Foundation框架中的NS前缀的由来

    可能大家对于著名的NS前缀的由来有一些疑问.绝大多数这些NS前缀的类是NeXTSTEP操作系统中Foundation框架里的一部分,而该操作系统是OSX的基础.NeXTSTEP的程序员对它们的类和函数使用NX前缀.这个前缀在NeXT和Sun合作创建OpenStep之后被改为NS,OpenStep是一个面向对象的框架,它用来在其他平台上提供类似于NeXTSTEP的环境.所以,取决于你向谁提出这个问题,一些人会说NS指的是NeXTSTEP,而另一些人会说NS指的是NeXT/Sun.;]

随机推荐

  1. static – 在页面之间共享数据的最佳实践

    我想知道在UWP的页面之间发送像’selectedItem’等变量的最佳做法是什么?创建一个每个页面都知道的静态全局变量类是一个好主意吗?

  2. .net – 为Windows窗体控件提供百分比宽度/高度

    WindowsForm开发的新手,但在Web开发方面经验丰富.有没有办法为Windows窗体控件指定百分比宽度/高度,以便在用户调整窗口大小时扩展/缩小?当窗口调整大小时,可以编写代码来改变控件的宽度/高度,但我希望有更好的方法,比如在HTML/CSS中.在那儿?

  3. 使用Windows Azure查询表存储数据

    我需要使用特定帐户吗?>将应用程序部署到Azure服务后,如何查询数据?GoogleAppEngine有一个数据查看器/查询工具,Azure有类似的东西吗?>您可以看到的sqlExpressintance仅在开发结构中,并且一旦您表示没有等效,所以请小心使用它.>您可以尝试使用Linqpad查询表格.看看JamieThomson的thispost.

  4. windows – SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

    有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?您似乎必须指定DIGCF_ALLCLASSES标志以查找与给定设备实例ID匹配的所有类,或者指定ClassGuid并使用DIGCF_DEFAULT标志.这对我有用:带输出:

  5. Windows Live ID是OpenID提供商吗?

    不,WindowsLiveID不是OpenID提供商.他们使用专有协议.自从他们的“测试版”期结束以来,他们从未宣布计划继续它.

  6. 如果我在代码中进行了更改,是否需要重新安装Windows服务?

    我写了一个Windows服务并安装它.现在我对代码进行了一些更改并重新构建了解决方案.我还应该重新安装服务吗?不,只需停止它,替换文件,然后重新启动它.

  7. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  8. .net – 将控制台应用程序转换为服务?

    我正在寻找不同的优势/劣势,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.这并不是说你应该用它包装任何东西;我们遇到了这个问题.控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.任何推荐?我们应该在VisualStudio中将其重建为服务吗?我使用“-install”/“-uninstall”开关执行此操作.例如,seehere.

  9. windows – 捕获外部程序的STDOUT和STDERR *同时*它正在执行(Ruby)

    哦,我在Windows上:-(实际上,它比我想象的要简单,这看起来很完美:…是的,它适用于Windows!

  10. windows – 当我试图批量打印变量时,为什么我得到“Echo is on”

    我想要执行一个简单的批处理文件脚本:当我在XP中运行时,它给了我预期的输出,但是当我在Vista或Windows7中运行它时,我在尝试打印值时得到“EchoisOn”.以下是程序的输出:摆脱集合表达式中的空格.等号(=)的两侧可以并且应该没有空格BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部