我考虑了很久,还是决定先把代码发布出来,早点接受大家的反馈。Delphi Spring Framework的目标是为企业应用程序提供强劲而灵活的基础架构。整个框架基于Embarcadero RAD Studio 2010平台,充分利用了新的语言特性(如泛型、匿名方法和反射),并借鉴了.net和java平台上其他同类框架的一些思想,希望能给大家带来全新的体验。下面我就把项目的进展及未来的一些计划跟大家汇报一下:本次为首次发布版本,版本号为V0.1.1,主要完成的特性有:+Spring.System
> 系统环境类(TEnvironment、TOperatingSystem、TDriveInfo)
> 工具类(TArgument、TEnum、TRtti)
> 其他(TInterfaceBase、TVersion、TFileVersionInfo、TNullable<T>等)
> 全局函数(SplitString, TrySetFocus,Lock, UpdateStrings, EnumerateControls, EnumerateDataSet等)
+Spring.Collections (泛型容器接口:ICollection<T>, IList<T>, IDictionary<TKey, TValue>)
+Spring.DesignPatterns (利用泛型完成了单例模式、观察者模式和Specification模式)
+Live Templates (包括了近30个代码模板,大大提高编程效率)目前正在进行中的工作主要有:(将在接下来的版本中发布)
> Spring.IoC (IoC容器)
> Spring.Logging (log4j的移植版本)
> Spring.Vaidation(验证框架)
> Spring.Numbering(通用编号和流水号规则及生成器)
> Spring.Objects(常用领域对象如TMoney、TCurrency、TRatio<T>、TQuantity、TUnit、TRange<T>)未来的主要任务:
> Spring.Cryptography(密码及安全部分)
> > 哈希算法(MD5、SHA-1等)
> > 校验算法(CRC16和CRC32等)
> > 加密算法(DES、Triple-DES和AES,支持多种加密模式,支持IV和PaddingMode)
> Spring.Collections (LINQ式的容器扩展)
> Spring.Configuration (配置)
> Spring.Resources (资源)
> Spring.Scheduling (计划任务和调度)
> Spring.Localization.Chinese (简繁体转换、拼音首字母、人民币转换和阴历)
> Spring.Adapters (Plugins)
> 系统及工具类
> > TUri
> > TRegex (Regular Expressions Wrapper)
> > TBigInteger and TBigDecimal
> > Base64 Encoding/Decoding
> > BCD and String Conversion
> > TDynamicArray<T>
> > TNetworkWatcher
> > IAsyncResult, etc.
> > TFileSearcher, etc.
> > TFileSystemWatcher
> > TClipboardWatcher
> > TServiceController
> > TRecycleBin
> > Single Application Instance项目主页:http://delphi-spring-framework.googlecode.com
项目svn(ReadOnly):http://delphi-spring-framework.googlecode.com/svn/trunk/
更多信息:http://www.zuobaoquan.com(本开源项目版权采用Apache License, Version 2.0)如果你和我一样,对Delphi有一种无法磨灭的情感,请加入我们!我们相信——Delphi因我而不同。MSN/Email: baoquan.zuo[at]gmail.com (请将[at]改为@)
QQ技术交流群:6994768

解决方案 »

  1.   

    顶下
    虽然偶只玩MIS类界面
      

  2.   

    顶一下...用DEPHI 还不是不怎么习惯
      

  3.   

    鼓励一下不过,delphi这么做,是不是有点邯郸学步?
      

  4.   

    你的msn是多少?抽时间我们聊一下,看能不能一起合作开发。
      

  5.   

    一直以来都觉得玩java, Delphi 是二种设计模式的碰撞. 早前 也有如sz_haitao 兄说的一样,
    在二种模式下挣扎.  
      

  6.   

    你的msn是多少?抽时间我们聊一下,看能不能一起合作开发。----------------------------------------------------不过我的构建可能和你的有些不同,因为我目前主要是针对D2007以下版本的,所以某些技术细节的实现肯定会有出入。目前完成了配置类和配置解释类,还有配置扩展类的编写,容器类立刻就开工了。构造函数注入这里是个难点,目前打算暂时放弃,或者用另一种不是很好的变通方法来暂时实现。我的QQ是435005,MSN用得比较少,不好意思,欢迎一起研究。
      

  7.   


    以前我也是希望能兼容D7-D2007,后来等Delphi2010出来以后就放弃了这个想法。希望各位大人原谅。
      

  8.   

    去blog看了一下,对这条提个意见:
    尽可能使用class constructor和class destructor代替单元的初始化(initialization)和终止化(finalization) 
    由于 class destructor 发生在全部的 units.finalization 之后,而且某个 unit 中的全局变量(包括类变量,delphi 中的运行期常量实际上也是全局变量)的清理工作会在其 finalization 之后马上进行。因而,包括
    const S: string = 'blahblah';
    这样的常量在 class destructor 执行到的时候已经被清理掉了(S=nil),这就为包括长字符串、接口、动态数组等的初始化与清理工作埋下了隐患。当执行到 class destruction 的时候,很可能某个清理工作需要的信息(如 class var string/array of T)已经早就被释放掉了。因此,我的建议是,在 d2010 还没有决定这个问题怎么改之前,还是小心使用 class destructor 为妙。btw,这个问题目前已经 open 了(qc78328),今后会怎么办目前还不知道
      

  9.   

    都在学java的面向对象为什么不去做java?我开始学的面向对象就是java所以一直认为面向对象是java开始用到的,有谁来更正下?现在cs3也是,我看他们的代码和java几乎一样的,还有其它什么.net等
      

  10.   

    顶一个!用过delphi5和delphi7!2010还没接触过!
      

  11.   


    你说的这个问题确实比较特殊,一般来说,class destructor里面只负责释放类的静态成员,如果不引用全局变量的话应该就没什么问题了。(从封装的角度来说,可以考虑把全局常量移植到类里面,作为class var。)
      

  12.   

    好good好good好good好good好good好good
      

  13.   

    已经说了,class var也是全局变量,问题摆明了就在那里,看不懂么
      

  14.   

    delphi应该是半死了,这个能带来春天?
    先找些大公司支持才行
      

  15.   

    纯粹支持下,delphi好久没用了