• Composite UI Application Block(CAB)


    序言

    WorkSpace

    WorkSpace:作为一个容器,它可以统一的添加和显示视图。CAB中提供了一组控件作为视图的容器,包括DeckWorkSpace,MDIWorkSpace,TabWorkSpace,WindowWorkSpace,ZoneWorkSpace。 它们的作用有点类似普通Windows 控件Panel,MDI窗口,TAB控件,Window窗体。在程序中根据名称可以通过WorkItem的WorkSpace集合索引到它们。

    Workspace是SmartPart的容器与管理器。它可以控制SmartPart如何显示或者隐藏,以及如何布局。

    WorkSpace 分为5种,用于动态加载各种继承于controller的用户自定义控件,也即smartPart。

    1.WindowWorkSpace

    该WorkSpace能将你需要在其中显示的用户控件在一个WinForm中显示出来,我们可以通过和该WorkSpace对应的WindowSmartPartInfo来设置用户控件的显示属性,如标题信息,是否是模式窗口等。

    2.MDIWorkSpace

    该WorkSpace是在WindowWorkSpace的基础上发展而来的,他同样将一个用户控件在单独的Form中进行显示,并且,他还将以MDI的形式显示和管理其子窗体。对应用户控件的显示信息的设置是通过设置smartPartInfo,然后作为参数传入WorkSpace的Show方法。

    3.TabWorkSpace

    该WorkSpace能将你需要在其中显示的用户控件以Tab页的形式显示出来,我们可以通过和该WorkSpace对应的TabSmartPartInfo来设置用户控件的显示属性,如标题信息。

    4.DeckWorkSpace

    该WorkSpace将以类似于重叠的卡片的形式来显示用户控件,当前激活的界面将在卡片的最上方。卡片的数序是由Workspace进行管理。没有和该WorkSpace对应的SmartPartinfo.

    5.ZoneWorkSpace

    该WorkSpace将以平铺的方式显示用户控件,比如类似OutLook的界面,可以将一个界面划分成多个Zone,每个Zone都是作为呈现用户控件的一个容器。同样的,我们可以通过设置ZoneSmartPartInfo来设置用户控件在WorkSpace中的显示属性。

    SmartParts 

    也可以被称作View,实际上是一个个自定义的控件。

    WorkItems 

    代表一个用例,包含在 Workspace 之中

    State

    你可以把它想象成Asp.net中的Session一样,可以把一些在本WorkItem中传递的信息存到State中。

    Event 

    Event Broker:事件代理,通过事件源和订阅事件源来达成对象之间的协作。

    Event Publisher:事件发布者,在CAB里是一个用属性EventPublication修饰的事件对象,提供特定的URL给Event Subscriber订阅。

    Event Subscriber:事件订阅者,在CAB里是一个用属性EventSubscription修饰的方法,根据修饰提供的URL自动寻找事件发布者。Publisher和Subscriber之间由主题(由URL决定),

    [EventPublication("topic://TestReport/DataRowAdded")]
    public event EventHandler<DictionaryEventArgs> DataRowAdded;

    FormShellApplication

    现在我们来看看基于CAB的应用程序中非常重要的一个类。这个类可以认为是一个CAB应用的启动点。

    class Program : FormShellApplication<MainWorkItem, MainShellForm>

    Controller

    controller中主要来实现业务逻辑,于是我们需要添加一个方法AddNewRow(int sex, string name),用来实现人员信息的添加

    整合界面和controller,[CreateNew],将该窗体相关的Controller标记为自动创建实例

    资料

    https://www.cnblogs.com/lglruirui/archive/2010/06/21/1761737.html?tdsourcetag=s_pcqq_aiomsg

    https://www.cnblogs.com/mixiaobo/archive/2008/01/16/1041349.html

    https://www.cnblogs.com/wf20012/archive/2007/04/18/718610.html

    https://www.cnblogs.com/lglruirui/archive/2010/07/07/1772912.html

  • 相关阅读:
    【流量劫持】SSLStrip 终极版 —— location 瞒天过海
    【流量劫持】沉默中的狂怒 —— Cookie 大喷发
    【流量劫持】SSLStrip 的未来 —— HTTPS 前端劫持
    Web 前端攻防(2014版)
    流量劫持 —— 浮层登录框的隐患
    流量劫持能有多大危害?
    流量劫持是如何产生的?
    XSS 前端防火墙 —— 整装待发
    XSS 前端防火墙 —— 天衣无缝的防护
    XSS 前端防火墙 —— 无懈可击的钩子
  • 原文地址:https://www.cnblogs.com/cnki/p/11515383.html
Copyright © 2020-2023  润新知