【问题标题】:Why the plugins implement IPlugin interface and Workflows (custom) inherits the Code Activity base class为什么插件实现 IPlugin 接口和 Workflows(自定义)继承 Code Activity 基类
【发布时间】:2016-05-01 13:44:25
【问题描述】:

基本上我在一次采访中被问到这个问题,我部分回答是这样说的,

您可以通过派生 CodeActivity 抽象类来创建自己的自定义工作流活动 base 类,并在其中添加您的组织(业务)特定组件,例如日志记录和异常处理机制。

现在您创建的任何自定义工作流活动都将派生新创建的自定义工作流活动类,并且所有基类功能都将可用。

但是接口也是如此,因此为什么 IPlugin 是一个接口而不是一个抽象类,例如 PluginBase

【问题讨论】:

  • 这个问题是为了回答吗?您应该将您的问题编辑为一个问题,然后添加您自己的答案。

标签: dynamics-crm-2011 dynamics-crm dynamics-crm-2013 dynamics-crm-2015


【解决方案1】:

因为 Dynamics CRM 工作流依赖 Windows Workflow Foundation,所以插件不依赖。

关于您的 IPlugin 接口问题,实际上,如果您使用 Developer Toolkit,它会为您将使用该工具包创建的所有插件创建一个类(我们可以说是模板)。

【讨论】:

    【解决方案2】:

    由于 CodeActivity 有 35 个方法,将其设为抽象类似乎是合乎逻辑的,以便开发人员可以灵活地在继承 CodeActivity 的类中根据自己的选择/要求实现方法/方法。 如果 CodeActivity 是一个接口,则必须在实现接口的类中实现所有 35 个方法,这是不合逻辑的。 这就是为什么微软将 CodeActivity 作为抽象类,而将 Iplugin 作为接口。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-12
      • 2012-05-14
      • 2011-09-12
      • 1970-01-01
      • 2011-06-12
      • 2011-02-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多