转:MyBean简介
(在开始之前,非常感谢 D10.天地弦)
1.1 概述
MyBean是一个用于Delphi应用程序开发的开源、轻量级、可配置插件框架。它通过巧妙的系统架构设计,无需复杂的配置和安装,就可使程序开发人员方便地实现应用程序的模块化开发、管理和发布,极大地提高软件开发效率。并且,MyBean还留给程序开发人员最大的灵活性,没有过多的约束条件,真正做到了简便、灵活、高效的特点。
MyBean具有以下特性:
1、零依赖。绿色框架,编译的应用程序无需依赖其他任何文件就可以享受框架提供的服务;
2、可配置。可以通过配置文件(json格式)设置插件文件(DLL或BPL)及其插件对象(称之为bean)的配置信息;
3、热插拔。插件文件(DLL或BPL)可动态加载和卸载,从而实现运行时更新插件目的;
4、颗粒性。只要实现了IInterface的对象(TObject及其子类)都可以作为插件对象。插件对象(bean)可以在单独的DLL或BPL文件内,也可以在同一个EXE文件内;可以是一个复杂窗体,也可以只是一个简单的对象。
5、生命周期管理。可以把插件对象简单地设置为单实例对象,由框架接管插件的生命周期,自动管理生成和销毁。
6. 完全开源。框架全部开源(支持D7 - XE7),并且遵循BSD协议,可免费用于商业软件。
……
正是由于上述特点,MyBean给Delphi 程序员提供了一个插件式开发大型应用软件的全新框架,必将成为最流行的DELPHI插件框架之一!
1.2 术语约定
Bean 本文档用“bean”表示一个插件对象的概念。一个bean就是一个实现了某个约定的接口,并向框架插件工厂进行了注册的类(及其实例)对象。
Plugin 本文档用“Plugin”表示一个包含了一个或多个“bean”(插件对象)的DLL或BPL文件,是插件的宿主。
Console 本文档用“Console”概念,表示一个可以载入不同的plugin(插件宿主文件),并调用其中的各种bean(插件对象)的主控程序。一般情况下可以简单地理解为一个主程序EXE。
1.3 官方资源
MyBean 由 D10.天地弦(QQ:185511468)开发。
官方Blog: http://www.cnblogs.com/DKSoft/
官方网站: www.diocp.org
讨论QQ群: 205486036 (MyBean轻量级配置框架)
MyBean的源码库: https://git.oschina.net/ymofen/delphi-framework-MyBean
转:MyBean简介的更多相关文章
- MyBean 框架入门手册<感谢[青铜]整理的如此细致和系统>
MyBean 框架入门手册 2014/9/15 by lighttop 目 录 MyBean 框架学习笔记............................................... ...
- Spring 系列: Spring 框架简介 -7个部分
Spring 系列: Spring 框架简介 Spring AOP 和 IOC 容器入门 在这由三部分组成的介绍 Spring 框架的系列文章的第一期中,将开始学习如何用 Spring 技术构建轻量级 ...
- Spring 系列: Spring 框架简介(转载)
Spring 系列: Spring 框架简介 http://www.ibm.com/developerworks/cn/java/wa-spring1/ Spring AOP 和 IOC 容器入门 在 ...
- Spring核心技术(一)——IoC容器和Bean简介
IoC容器和Bean简介 这章包括了Spring框架对于IoC规则的实现.Ioc也同DI(依赖注入).而对象是通过构造函数,工厂方法,或者一些Set方法来定义对象之间的依赖的.容器在创建这些Bean对 ...
- ASP.NET Core 1.1 简介
ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...
- MVVM模式和在WPF中的实现(一)MVVM模式简介
MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...
- Cassandra简介
在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...
- REST简介
一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...
- Microservice架构模式简介
在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...
随机推荐
- Mysql-cluster7.5
Data nodes: shell> rpm -Uhv mysql-cluster-community-data-node-7.5.5-1.1.el7.x86_64.rpm SQL nodes: ...
- Python爬虫入门
Python爬虫简介(来源于维基百科): 网络爬虫始于一张被称作种子的统一资源地址(URLs)列表.当网络爬虫访问这些统一资源定位器时,它们会甄别出页面上所有的超链接,并将它们写入一张"待访列表",即 ...
- sql server远程备份和恢复
sql server远程备份和恢复 SQLSERVER服务实例名称:192.168.0.2需要备份的数据库名称: a备份机器名称(Client端):192.168.0.3备份机用户:zf 密码:123 ...
- javascript工具函数
第一部分 JavaScript工具函数 转义特殊字符为html实体 HtmlEncode: function(str){ return str.replace(/&/g, '&') ...
- S5Time BCD码存储
,时基为1秒. 当使用S5TIME时,定义数值的范围为0~999,而且要指明使用的时基.时基指定了时间单位. S5TIME时基及相应的时间范围如下: 时基 BCD码 时间范围 10 ms 00 10 ...
- va_copy
#include <stdio.h> #include <stdarg.h> void func(char* format, va_list ptr); void print( ...
- JVM实用参数(五)新生代垃圾回收
本部分,我们将关注堆(heap) 中一个主要区域,新生代(young generation).首先我们会讨论为什么调整新生代的参数会对应用的性能如此重要,接着我们将学习新生代相关的JVM参数. 单纯从 ...
- git push error: A Contributor Agreement must be completed before uploading
因为是从官方版本库做的镜像,所以有些权限直接从官方同步到了本地. 今天,有同事执行git push操作,报错: 根据网上搜索的内容,在gerrit.config中[auth]中添加如下内容: [aut ...
- Hyper-v之利用差异磁盘快速创建多个虚拟机
在新建Hyper-v磁盘的时候 有3种选项 其中分别是 固定大小 动态扩展 和 差异(differencing,个人习惯叫 差分) 其中 固定大小是新建的时候 Hyper-v创建一个设置大小值的文件, ...
- php 构造函数格式,具体该怎么写?应该注意什么呢?
在PHP里,如果你没有手写构造函数,则php在实例化这个对象的时候,会自动为类成员以及类方法进行初始化,分配内存等工作,但是有些时候不能满足我们的要求,比如我们要在对象实例化的时候传递参数,那么就需要 ...