[开源项目-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 ...
随机推荐
- 自定义UITabbarcontrollerview
// 初始化contentView [self initContentView]; #pragma mark 初始化contentView - (void)initContentView { CGSi ...
- 可扩展的Web系统和分布式系统(Scalable Web Architecture and Distributed Systems)
Open source software has become a fundamental building block for some of the biggest websites. And a ...
- Cordova笔记(一)
跨平台的PhoneGap被Adobe收购,改名为Cordova,现在是Apache下的一款开源软件.网上能找到的关于PhoneGap的教程有些方法已不适用,在学习使用最新版的Cordova时有些问题需 ...
- struts2基本配置详解2
接上篇struts2基本配置详解,还有一些配置没有讲到,下面将继续. struts.xml <package name="com.amos.web.action" names ...
- cd及目录快速切换
一.cd ~ 切换到用户目录 二.cd - cd - 返回进入当前目录前所在目录 三.pushd.popd.dirs 在Linux的多目录命令提示符中工作是一种痛苦的事情,但以下这些利用lin ...
- JAVA List删除时需注意的地方
JAVA的LIST在删除时,一般会用list.remove(o); 但这样往往会出现问题,先来看下面的这段代码: package com.demo; import java.util.ArrayLis ...
- ASP.NET 5 RC 1:UrlRouting 设置(不包含MVC6的UrlRouting设置)
转自:http://habrahabr.ru/company/microsoft/blog/268037/?mobile=no 1.project.json { "version" ...
- Block(二)内存管理与其他特性-b
一.block放在哪里 我们针对不同情况来讨论block的存放位置: 1.栈和堆 以下情况中的block位于堆中: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
- stm8 stvd工程头文件包含方式
方式一:在Include Files上右键 add files to folder把.h文件添加到该组下, 添加完编译成功之后,下面窗口会多出一个预处理包含路径(若有错误没有编译成功,则看不到) 方 ...
- 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,节点之间局域网连接 ...