• OEA框架学习:运行时


    一、摘要

           在这里主要是写OEA设计方面的知识了。OEA 源码:OEA框架 2.9 Pre-Alpha 源码公布

    可以到BloodyAngel的博客和中可以下到。虽然现在应经知道使用了,但是还是 需要了解框架相关知识运行机制,让我们更好的使用OEA进行开发

            OEA 在启动的时候都做了什么事情,我们现在打开VS1010启动调试,我一步步去揭开OEA神秘的面纱。

    我们这里主要讲WPF的运行生成时。,当然还有其他的客服端 如: WEB

    二、本文大纲

           a、摘要 。

           b、准备工作。

           c、我们启动项目了,按F5 。

           d、老罗瞎说  。

    三、准备工作

         我们先来看一下项目结构.

    image 黄色区域是我自己创建的几个项目,其他的都是OEA自带的。

    我们先抛出几个问题先:

    1:启动界面之前做了什么,页面框架是如何布局的。

    2:数据库自动生成,还带有关系哦,如 父子表,主外键 等的生成。。

    3:需要插件加载吧。

    四、我们启动项目了,按F5

          等不及了,我们还是直接按F5把,在之前要加个断点啦

    image

    不要告诉我你不知道这个位置哦,要不然BS你,嘿嘿  。

    image

    一下就跳到OEA.Module.WPF项目中的ClientApp这个类继承富客服端类,在这个类的Register

    有跳到本类中AttachTo函数上了,这个函数的主要功能在OnAppStartup()函数了,一看就是一个

    启动函数啊,里面肯定就是 一系列函数列表了。但是是什么呢,我们继续往下看,

    image 

    1:初始化环境

    image 环境的初始化应该就是创建一些必要的文件夹把,我们

    去看看,先第一个函数。如下:

    image

    上面的注释看的懂吧,就是先在\Files\Common 创建客户化文件夹,不过我们这里是空的因为需要

    在APP.CONFIG中配置 <add key="CustomerDir" value=""/> 节点,我们这里没有配置,我们下节

    在讲OEA客户化支持。

    image

    一看这个 就是 一个反射的机制啊,看来大部分框架都是用反射机制实现的了,OEA的插件机制也是,呵呵。

    上面还是创建一些必要文件夹啊,我们跳过直接往下吧。

    2:初始化插件

    下面的初始化主要还是依赖这个函数了。

    image 注意:Library.Initialize 这个就是吧DLL加载到_ppCore容器中了。

    我们一看这个GetAllLibraries()函数应经就是读取Libraries文件夹下的DLL这个函数肯定用的是反射,我们看一先

    image

    你看我们找到了,哈哈。只是用的是4.0的技术了,不知道性能怎么样哦,如果一下加载100,上千个DLL 不知道是个什么样子哦。(*^__^*) 嘻嘻……,不过一般不会出现这样的情况啦。继续。

    这里应该就是把DLL的数据读取到内存了,有一部分应经是为了初始化菜单用的了。

    3: 初始化托管属性

    4:初始化命令(添加,删除,修改等常用命令……)

    image

    具体如下:

    image 

    5:定义模块列表(其实就是菜单,嘿嘿)。

    6:初始化元素,默认只读。

    7:中间还有一些事件,不过不知道是做什么的应该是跟页面有关。 

    五、老罗瞎说

           根据上面的运行情况,主要就是 设置系统文件夹,加载实体和插件,初始化界面所需要的数据,升级数据库

    不知道为什么还需要一个元数据初始化,为只读。

    作者:罗敏贵
    邮箱:minguiluo@gmail.com
    QQ群:34178394 建群 主要是寻找志同道合的人士一起学习和讨论自己的所学所思
    出处:http://luomingui.cnblogs.com/
    说明:专注于微软平台项目架构、熟悉设计模式、架构设计、敏捷个人和项目管理。现主要从事WinForm、ASP.NET、等方面的项目开发、架构、管理工作。文章为作者平时里的思考和练习,可能有不当之处,请博客园的园友们多提宝贵意见。
    知识共享许可协议本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。

    标签: OEA
  • 相关阅读:
    c++关于析构的那点小事(个人吐槽向
    我分析内存泄漏的一道作业题,已解决
    大一上学期的一点小疑惑,代码验证ok
    C++类型转换
    c++形参改变实参(对指针的理解
    c++整型->字符型转换
    [转]二重积分换元法的一种简单证明 (ps:里面的符号有点小错误,理解就好。。。
    c++实现矩阵类矩阵行列式,伴随矩阵,逆矩阵
    假期周计划2.0
    大道至简
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2483589.html
Copyright © 2020-2023  润新知