zoukankan      html  css  js  c++  java
  • Agile.Net 组件式开发平台

    所谓组件式开发平台,它所有的功能模块都是以组件的形式扩展的,下面我来演示一个简单的组件开发例程。

    Agile.Net开发管理平台项目,已经托管在开源中国码云平台(http://git.oschina.net

    登陆码云平台进入项目主页(http://git.oschina.net/MuAgile/AgileDevelop)即可浏览下载源代码。

    1.开发环境搭建

       软件安装请参考文章《Agile.Net 组件式开发平台 - 开发环境部署》

       下载项目【AgileDevelop】->【附件】中的数据库备份文件,恢复数据库到SqlServer,建议数据库命名"Agile"。

    2.获取项目源代码

       1. 启动 Microsoft Visual Studio,进入菜单项【工具】->【选项】->【源代码管理】-> 设置选项【当前源代码管理插件】下拉框中选择【Microsoft Git 提供程序】。        

       2. VS切换到团队资源管理器界面,进入菜单项【项目】->【连接到团队项目】。

       3. 在本地Git存储库栏目中,输入Git项目地址,克隆"AgileDevelop"项目。

       4. 关于Git的源代码管理系统的使用方法,请参考相关文档学习。

    3.项目配置

       开发管理平台建议采用直连方式比较方便调试,首先设置System.Config配置文件,如下:  

    <Root>
      <!--服务端配置-->
      <REM>
        <!--服务端配置-->
        <Server>
          <Config Address="127.0.0.1" Port="10000" Enabled="false" />
        </Server>
        <!--消息总线配置-->
        <Message>
          <Config Address="127.0.0.1" Port="10010" Enabled="false" />
        </Message>
        <!--升级地址配置-->
        <Upgrade>
          <Config Address="Ftp://127.0.0.1:10021" Enabled="false" />
        </Upgrade>
      </REM>
      <!--数据源配置-->
      <DBS>
        <Config Caption="Default" Description="默认数据库" Provider="SqlServer" Connection="Data Source=localHost;Initial Catalog=Agile;Integrated Security=SSPI;" />
        <Config Caption="Report" Description="报表数据库" Provider="SqlServer" Connection="Data Source=(LocalDB)ProjectsV12;Initial Catalog=Agile;Integrated Security=SSPI;" />
      </DBS>
    </Root>

      

    4.组件开发

       1. 新建一个类库命名为"Plugin.Master",框架版本为Net4.0,引用 Agile.Core.dll,Agile.Library.dll, Agile.Controls.dll, Agile.Entity.dll 等平台SDK库文件。

       2. 添一个窗体项并继承【Agile.Core.Addin.PluginFormBase】窗体组件基类。   

    namespace Plugin.Master
    {
        public partial class FormUser : Agile.Core.Addin.PluginFormBase
        {
            public FormUser()
            {
                InitializeComponent();
            }

    2.拖入DevExpress控件根据功能需求设计窗体。示例:

      3.设置组件窗体属性

    4. 重写组件加载事件(OnStartup),此方法为窗体组件入口。

        注:” OnStartup” 事件为同步方法,参数<args>用于组件间相互调用时的传参。     

     protected override void OnStartUp(Agile.Core.Addin.PluginArgs args)//组件入口方法
     {
         ////绑定部门
         //var deptService = Agile.Library.Controller.GetService<IDept>();
         //tree_Dept.DataSource = deptService.GetAllDept();
         //tree_Dept.CollapseAll();
         //tree_Dept.ExpandToLevel(0);
               
         ////绑定用户
        //var userService = Agile.Library.Controller.GetService<IUser>();
         //grc_Employee.DataSource = userService.GetAllUser();
         //grv_Employee.BestFitColumns();
    }

    至此一个简单的平台组件已经开发完成了,下面咱们来调用试试看。

      5.首先在开发管理平台[Agile.Develop]项目中引用"Plugin.Master"类库,

         然后在NavBarControl中添加一个Item并在单击事件下调用组件窗体,示例:

    private void item_DeptMgmt_LinkPressed(object sender, NavBarLinkEventArgs e)
      {
          //通过以下四种方式调用窗体组件
          //方式一
          //var plugin = Controller.GetIPlugin(Guid.Parse("cb3cb6cd-0d8b-4861-8b43-8d4cce2ef272")) as IPluginForm;
          //方式二
          //var plugin = Controller.GetIPlugin("Plugin.Master.dll", "Plugin.Master.FormDept", "Plugins") as IPluginForm;
          //方式三
          //var plugin = Agile.Library.Controller.GetIPlugin("Plugin.Master.FormDept") as IPluginForm;
          //方式四
          var plugin = Agile.Library.Controller.GetIPlugin<Plugin.Master.FormDept>() as IPluginForm;
          //启动组件
          plugin.Open();
      }


    5.运行开发平台测试调用组件。

    OK 运行成功,那么咱们第一个组件【用户管理】已经开发好了,Agile.Net开发管理平台中包含本案例完整源代码。

        

  • 相关阅读:
    C++学习之:括号匹配与栈的使用
    mooc网站以及学习资料收集
    android 获取字符串的方法
    androidStudio中如何加载字体资源?
    BluetoothGatt API
    Android 反编译工具简介
    BluetoothAdapter.LeScanCallback 参考文档
    openCV1
    Android客户端向服务器端发送数据的流程(1)
    将博客搬至CSDN
  • 原文地址:https://www.cnblogs.com/MuNet/p/5594219.html
Copyright © 2011-2022 走看看