[开源项目-MyBean轻量级配置框架] MyBean的特性和MyBean的开始
[概述]
自从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的开始的更多相关文章
- [开源项目-MyBean轻量级配置框架] 使用MyBean快速搭建分模块的应用程序(主页面的TAB)(DLL-MDI)
[概述] 抱歉由于上次开源比较匆忙,没有来的及做一个DEMO,里面也有些垃圾的文件没有及时清理.DEMO其实昨天晚上已经调通.相关说明文档今天晚上才说明好,欢迎大家继续关注和交流,和大家一起分享我10 ...
- .NET Core/.NET5/.NET6 开源项目汇总6:框架与架构设计(DDD、云原生/微服务/容器/DevOps/CICD等)项目
系列目录 [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...
- 腾讯正式开源高性能超轻量级 PHP 框架 Biny
概况 Biny是一款高性能的超轻量级PHP框架 遵循 MVC 模式,用于快速开发现代 Web 应用程序 Biny代码简洁优雅,对应用层,数据层,模板渲染层的封装简单易懂,能够快速上手使用 高性能,框架 ...
- 开源项目之Android Afinal框架
项目如图: 本文参考网络! Afinal是一个开源的android的orm和ioc应用开发框架,其特点是小巧灵活,代码入侵量少.在android应用开发中,通过Afinal的ioc框架,诸如ui绑定, ...
- 【开源项目13】Volley框架 以及 设置request超时时间
Volley提供了优美的框架,使android程序网络访问更容易.更快. Volley抽象实现了底层的HTTP Client库,我们不需关注HTTP Client细节,专注于写出更加漂亮.干净的RES ...
- [DIOCP3/MyBean/QDAC开源项目] DataModule-DB例子基于MyBean的插件实例<三层数据库方案>
[说明] 这个例子答应大家很久了,一直没有时间弄,现在正式结合MyBean插件可以很方便的在客户端共享操作连接,执行数据库的各项工作,屏蔽了底层的通信解码器编码等工作,直接传递Variant,给了开发 ...
- 打造个人IP: 开源项目网站构建框架
前言 您是否正在寻找有关如何创建博客网站: 个人博客 或者 开源项目官网 : Dubbo, Vue.js的构建框架? 在这篇文章我将向您展示如何创建一个美观并且实用的开源博客/开源项目官网构建框架!近 ...
- android开源项目学习
FBReaderJ FBReaderJ用于Android平台的电子书阅读器,它支持多种电子书籍格式包括:oeb.ePub和fb2.此外还支持直接读取zip.tar和gzip等压缩文档. 项目地址:ht ...
- 可能是国内最火的开源项目 —— C/C++ 篇
程序员们,在北上广你还能买房吗? >>> 推荐阅读: 可能是最火的开源项目 -- Java 篇 可能是国内最火的开源项目 -- PHP 篇 可能是国内最火的开源项目 -- Pyt ...
随机推荐
- Heroku免费版限制
SLEEPS AFTER 30 MINS OF INACTIVITY 30分钟无人访问就休眠 Verified accounts come with a monthly pool of 1000 ...
- <转>字节码指令
本文转自:http://www.cnblogs.com/nazhizq/p/6525263.html 在llimits.h文件中定义了指令的类型.其实就是32个字节. typedef lu_int32 ...
- spring加载jar包中多个配置文件(转)
转自:http://evan0625.iteye.com/blog/1598366 在使用spring加载jar包中的配置文件时,不支持通配符,需要一个一个引入,如下所示: Java代码 <co ...
- 修改的select
慢慢修改: #include <winsock.h> #include <stdio.h> #include <string> #define PORT 5010 ...
- oracle收购Mysql后,Mysql的安装配置方法
自从Oracle收购MySQL后,略微发生了一些小小的变化,原来mysql安装完成后默认是没有密码的,但是新版的mysql安装完成后oracle提供了一个free password放着/root/.m ...
- POJ 2230 Watchcow (欧拉回路)
Watchcow Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 5258 Accepted: 2206 Specia ...
- CentOS安装OpenResty(Nginx+Lua)开发环境
一.简介 OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭建能够处理超高并发.扩展性极高 ...
- getenv()函数
在PHP中getenv(参数)函数是一个用于获取环境变量的函数,根据提供不同的参数可以获取不同的环境变量,具体如下: “PHP_SELF” 当前正在执行脚本的文件名,与document root 相关 ...
- GIT 简单版
Git规范 by 程序亦非猿 2016.4.6 这又是一篇我在公司分享的,想制定一下Git的规范,有兴趣的可以看看~ 上一篇在这里 分支模型 每个项目必须要有master.develop分支. 每个开 ...
- update关联其他表批量更新数据-跨数据库-跨服务器Update时关联表条件更新
1.有时在做项目时会有些期初数据更新,从老系统更新到新系统.如果用程序循环从老系统付给新系统. 2.有时在项目中需要同步程序,或者自动同步程序时会有大量数据更新就可能用到如下方法了. 3.为了做分析, ...