[概述]

自从mBean框架出生后,受到很多朋友的关注,在公司的外包项目中得到了不错的应用。由于mBean是公司的项目,不便开源,于是这几天利用晚上的时间和周末的时间重写了底层beanMananger.dll所有代码。并加入了很多新的特性。正式进行开源,希望和大家一起完善这个平台。

[MyBean畅想]

Delphi无疑是Windows程序开发的首选,但是Delphi写法灵活,门派太多,反而不利于推广,和学习。我一直有个想法,做一个开源的平台,我们程序员可以做很多自己的插件基于MyBean这样就可以减少重复的工作,而且我们程序员可以交易这些插件,可以选择交易源码或者交易DLL。专业需要一个简单,兼容性很强的框架,现在MyBean出来了。

你之前的插件稍作修改就可以成为MyBean的插件

uses
uBeanFactory ..... initialization
//然后这样就可以注册成插件
beanFactory.RegisterBean('aboutForm', TfrmAbout);

[MyBean特性]

1.轻量级配置插件框架,一个开源的DLL,完成对插件的管理。

2.可以通过配置选择预加载配置文件,不直接加载DLL插件文件

3.可以通过配置选择是否使用DLL缓存目录,这样可以在运行时就可以覆盖更新插件DLL。

4.单个EXE可以通过注册插件工厂,使用插件功能。

5.方便的单实例模式。可以由框架接管插件的生命周期。

6.只要实现了IInterface都可以称为插件,可以注册到框架插件,整合简单。

7.可以读取多个插件配置文件,在主配置中进行如下配置即可
;加载bean配置文件目录(相对路径(EXE目录的相对路径),绝对路径(c:\config\*.*)
;没有配置时,直接加载DLL,从DLL中获取PluginID
;<none>时不加载任何DLL插件
beanConfigFiles=*.plug-ins,plug-ins\*.plug-ins,beanConfig\*.plug-ins

8.使用json进行bean的配置,配置简单
{
   "id":"aboutForm",
   "pluginID":"aboutForm", //如果与id一致可以进行忽略
   "lib":"plug-ins\\mCore.dll", //文件名
   "singleton":true, //是否单件模式
   /// 配置单实例时,请注意要么对象有接口引用管理生命周期,要么实现IFreeObject接口
   /// 不要手动释放释放对象.
}

9.框架绿色而且全部开源(支持D7 - XE6)

开源地址

考虑到google需要翻墙

这次放在这里

https://git.oschina.net/ymofen/delphi-framework-MyBean

现在的DEMO比较少,后续我会加入很多新的DEMO,欢迎公司和delphi程序员关注的使用。

[开源项目-MyBean轻量级配置框架] MyBean的特性和MyBean的开始的更多相关文章

  1. [开源项目-MyBean轻量级配置框架] 使用MyBean快速搭建分模块的应用程序(主页面的TAB)(DLL-MDI)

    [概述] 抱歉由于上次开源比较匆忙,没有来的及做一个DEMO,里面也有些垃圾的文件没有及时清理.DEMO其实昨天晚上已经调通.相关说明文档今天晚上才说明好,欢迎大家继续关注和交流,和大家一起分享我10 ...

  2. .NET Core/.NET5/.NET6 开源项目汇总6:框架与架构设计(DDD、云原生/微服务/容器/DevOps/CICD等)项目

    系列目录     [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...

  3. 腾讯正式开源高性能超轻量级 PHP 框架 Biny

    概况 Biny是一款高性能的超轻量级PHP框架 遵循 MVC 模式,用于快速开发现代 Web 应用程序 Biny代码简洁优雅,对应用层,数据层,模板渲染层的封装简单易懂,能够快速上手使用 高性能,框架 ...

  4. 开源项目之Android Afinal框架

    项目如图: 本文参考网络! Afinal是一个开源的android的orm和ioc应用开发框架,其特点是小巧灵活,代码入侵量少.在android应用开发中,通过Afinal的ioc框架,诸如ui绑定, ...

  5. 【开源项目13】Volley框架 以及 设置request超时时间

    Volley提供了优美的框架,使android程序网络访问更容易.更快. Volley抽象实现了底层的HTTP Client库,我们不需关注HTTP Client细节,专注于写出更加漂亮.干净的RES ...

  6. [DIOCP3/MyBean/QDAC开源项目] DataModule-DB例子基于MyBean的插件实例<三层数据库方案>

    [说明] 这个例子答应大家很久了,一直没有时间弄,现在正式结合MyBean插件可以很方便的在客户端共享操作连接,执行数据库的各项工作,屏蔽了底层的通信解码器编码等工作,直接传递Variant,给了开发 ...

  7. 打造个人IP: 开源项目网站构建框架

    前言 您是否正在寻找有关如何创建博客网站: 个人博客 或者 开源项目官网 : Dubbo, Vue.js的构建框架? 在这篇文章我将向您展示如何创建一个美观并且实用的开源博客/开源项目官网构建框架!近 ...

  8. android开源项目学习

    FBReaderJ FBReaderJ用于Android平台的电子书阅读器,它支持多种电子书籍格式包括:oeb.ePub和fb2.此外还支持直接读取zip.tar和gzip等压缩文档. 项目地址:ht ...

  9. 可能是国内最火的开源项目 —— C/C++ 篇

    程序员们,在北上广你还能买房吗? >>>   推荐阅读: 可能是最火的开源项目 -- Java 篇 可能是国内最火的开源项目 -- PHP 篇 可能是国内最火的开源项目 -- Pyt ...

随机推荐

  1. 自定义UITabbarcontrollerview

    // 初始化contentView [self initContentView]; #pragma mark 初始化contentView - (void)initContentView { CGSi ...

  2. 可扩展的Web系统和分布式系统(Scalable Web Architecture and Distributed Systems)

    Open source software has become a fundamental building block for some of the biggest websites. And a ...

  3. Cordova笔记(一)

    跨平台的PhoneGap被Adobe收购,改名为Cordova,现在是Apache下的一款开源软件.网上能找到的关于PhoneGap的教程有些方法已不适用,在学习使用最新版的Cordova时有些问题需 ...

  4. struts2基本配置详解2

    接上篇struts2基本配置详解,还有一些配置没有讲到,下面将继续. struts.xml <package name="com.amos.web.action" names ...

  5. cd及目录快速切换

    一.cd   ~ 切换到用户目录 二.cd   - cd - 返回进入当前目录前所在目录 三.pushd.popd.dirs 在Linux的多目录命令提示符中工作是一种痛苦的事情,但以下这些利用lin ...

  6. JAVA List删除时需注意的地方

    JAVA的LIST在删除时,一般会用list.remove(o); 但这样往往会出现问题,先来看下面的这段代码: package com.demo; import java.util.ArrayLis ...

  7. ASP.NET 5 RC 1:UrlRouting 设置(不包含MVC6的UrlRouting设置)

    转自:http://habrahabr.ru/company/microsoft/blog/268037/?mobile=no 1.project.json { "version" ...

  8. Block(二)内存管理与其他特性-b

    一.block放在哪里 我们针对不同情况来讨论block的存放位置: 1.栈和堆 以下情况中的block位于堆中: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  9. stm8 stvd工程头文件包含方式

    方式一:在Include  Files上右键 add files to folder把.h文件添加到该组下, 添加完编译成功之后,下面窗口会多出一个预处理包含路径(若有错误没有编译成功,则看不到) 方 ...

  10. hadoop1.2.1+zk-3.4.5+hbase-0.94.1集群安装过程详解

    hadoop1.2.1+zk-3.4.5+hbase-0.94.1集群安装过程详解 一,环境: 1,主机规划: 集群中包括3个节点:hadoop01为Master,其余为Salve,节点之间局域网连接 ...