[概述]

自从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. 邮件相关协议及JavaMail 包简介

    1. 邮件服务器 按功能划分,邮件服务器可以划分为两种类型: SMTP邮件服务器:用于替用户发送邮件和接收外面发送给本地用户的邮件,相当于现实生活中邮局的邮件接收部门(可接收普通用户要投出的邮件和其他 ...

  2. 【mysql】数据库Schema的优化

    由于MySQL数据库是基于行(Row)存储的数据库,而数据库操作 IO 的时候是以 page(block)的方式,也就是说,如果我们每条记录所占用的空间量减小,就会使每个page中可存放的数据行数增大 ...

  3. Weex开发之路(1):开发环境搭建

    一.Weex介绍 Weex是阿里巴巴在2016年6月份对外开源的一款移动端跨平台的移动开发工具,Weex的出现让我们的应用既有了Native的性能和H5的动态性,只要通过前端JS语法就能写出同时兼容i ...

  4. 神奇的 Block

    本文不做Block的基本介绍和底层实现原理,有兴趣的同学直接戳这篇文章(http://www.jianshu.com/p/51d04b7639f1),写得灰常好,本文只在应用层面上带领读者进行思考,并 ...

  5. IIS7虚拟目录出现HTTP错误500.19(由于权限不足而无法读取配置文件)的解决方案

    今天在window7上配置asp.net网站,但是访问总是提示 错误摘要HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效.详细 ...

  6. IDEA 配置Gradle编译工具

    下载解压自己需要的gradle版本:https://gradle.org/releases/(免安装) 配置环境变量 打开命令窗口,输入 gradle -v IDEA配置gradle:file-> ...

  7. 【Algorithm】堆排序

    堆是一种完全二叉树结构,并且其满足一种性质:父节点存储值大于(或小于)其孩子节点存储值,分别称为大顶堆.小顶堆.堆一般采用数组进行存储(从下标为0开始).则父节点位置为i,那么其左孩子为2*i + 1 ...

  8. 从语句 char* p="test" 说起

    我相信,使用C/C++多年的人对下面这个字符串赋值语句都不会陌生吧.                 char* p = "test";   同时,我也相信,各位在使用这种语句后吃 ...

  9. mysql 5.5数据库主从配置步骤详解

    上次给大家介绍了mysql 5.1主从搭建配置教程,这次我们来实现mysql 5.5的主从复制,其实大体上配置是差不多的,只有点细微的差别. 系统:centos 5.x 需要的软件包:mysql-5. ...

  10. 使用Python3自带工具2to3.py 转换 Python2.x 代码 到Python3

    几乎所有的Python 2程序都需要一些修改才能正常地运行在Python 3的环境下.为了简化这个转换过程,Python 3自带了一个叫做2to3的实用脚本(Utility Script),这个脚本会 ...