• WF与Windows操作系统的对比


    WF与Windows操作系统的对比

    ——通过AEC解读WF的核心原理(十一)(题外篇)

    有的时侯,在开发Activity的时候,所用的方案思路,所面临的问题,所出现的错误,总有一种似曾相似的感觉,比如C时,忘了释放指针,我总会打自已一下,开发Activity时,忘了Close,我会打自已一下......

    觉得WF的结构与操作系统有很多相似之处,下面我就对比一下:

    对比项

    WF

    操作系统

    宿主

    计算机

    宿主:

    WorkflowRuntime,的寄生环境

    计算机:

    操作系统的的寄生环境

    WorkflowRuntime,

    操作系统

    WorkflowRuntime:

    工作流的运行环境

    操作系统:

    应用程序的运行环境

    工作流,

    应用程序

    工作流:

    可在WorkflowRuntime中运行的,用于完成各种业务功能的独立代码单元

    应用程序:

    可在操作系统中运行的,用于完成各种业务功能的独立代码单元

    实例,

    进程

    实例:

    工作流在WorkflowRuntime中的一种激活状态

    进程:

    应用程序在操作系统中的一种激活状态

    WF加载服务,

    驱动程序

    WF加载服务:

    由WorkflowRuntime加载,为工作流的实例提供某种功能或接口

    驱动程序:

    由操作系统加载,为应用程序的进程提供某种功能或接口

    Activity(DLL)格式工作流,

    Win32格式程序

    Activity(DLL)格式工作流:

    WF工作流的基本格式,WF的"本地代码"

    Win32格式程序:

    Win操作系统的基本格式,本地代码"

    xoml格式工作流,

    NET格式程序

    xoml格式工作流:

    一种用字符串方式描述执行逻辑的文件,可由DefaultWorkflowLoaderService将其解释成

    WF的"本地代码"在WorkflowRuntime中运行

    NET格式程序:

    一种用字符串方式描述执行逻辑的文件,可由NET Framework将其解释成"本地代码"在操作系统中运行

    DefaultWorkflowLoaderService,

    NET Framework

    DefaultWorkflowLoaderService:

    xoml的解释器,WF默认加载

    NET Framework:

    NET格式程序的解释器,操作系统默认安装

    其它格式工作流,

    Java格式程序

    其它格式工作流:

    WF可以加载其它xml格式的的工作流描述件,但需基于WorkflowLoaderService实现该格式的解释器,并加载到WorkflowRuntime中

    Java格式程序:

    可以在Win操作系统运行,但需要安装Java 虚拟机

    自定义WorkflowLoaderService,

    Java 虚拟机

    自定义WorkflowLoaderService:

    实现自定义工作流描述件格式的解释器

    Java 虚拟机:

    一种将Java格式程序解释并在操作系统中运行的中间环境

    并行,

    线程

    并行:

    WF的ParallelActivity并不是启用线程实现分支的并行,而是在各分支上交错执行,以实现并行效果

    线程:

    Win操作系统的多线程并不依赖多核CPU,它可以用一种交错方式执行,以实现多线程并行效果

    WorkflowQueuingService,

    系统消息

    WorkflowQueuingService:

    WF为实现交互而提供的一种通信响应接口,AEC , WorkflowRuntimeService , IServiceProvider

    系统消息:

    操作系统为实现交互而提供的一种通信响应接口,Hook,SetWindowsHookEx,CallNextHookEx

    持久化,

    休眠(不是待机)

    持久化:

    WF可以将WorkflowRuntime中的实例保存起来,当关闭WorkflowRuntime后,再启动WorkflowRuntime可以继续运行实例

    休眠:

    WIN操作系统可以将当前运行的系统保存到磁盘,后断电,当重新启动后可以继续使用休眠前系统中正在运行的进程

    持久化,

    虚拟内存

    持久化:

    WF可以将WorkflowRuntime中的不运行的实例保存到磁盘,以解省内存。当实例需要继续运行时再从磁盘加载到内存

    虚拟内存:

    WIN操作系统不运行的进程保存到磁盘,以解省内存。当进程需要继续运行时再从磁盘加载到内存

    WF,

    操作系统

    WF:

    操作系统中运行的一个程序

    操作系统:

    也许有一天,可以用一个可以像WF这样的可视化开发环境设计操作系统

    说明:

    如果从求同的角度,你会发现铅笔与太阳是一样的,如果从求异的角度,两个水分子的差别用137亿年也描述不完,本文不是一篇技术文章,有些比效也并不准确,只是对技术的一种调侃

  • 相关阅读:
    hdoj2187:悼念512汶川大地震遇难同胞 (贪心)
    2.0其它之Transform详解,以及UIElement和FrameworkElement的常用属性
    2.0外观之样式, 模板, 视觉状态和视觉状态管理器
    2.0图形之Ellipse, Line, Path, Polygon, Polyline, Rectangle
    2.0控件之ListBox, MediaElement, MultiScaleImage, PasswordBox, ProgressBar, RadioButton
    2.0画笔之SolidColorBrush, ImageBrush, VideoBrush, LinearGradientBrush, RadialGradientBrush
    2.0图形之基类System.Windows.Shapes.Shape
    2.0交互之鼠标事件和键盘事件
    2.0控件之ScrollViewer, Slider, StackPanel, TabControl, TextBlock, TextBox, ToggleButton
    2.0交互之InkPresenter(涂鸦板)
  • 原文地址:https://www.cnblogs.com/foundation/p/1222052.html
Copyright © 2020-2023  润新知