介绍
Delphi Spring Framework是一个国际性的社区开源项目,我们的使命是提供一个强劲的基础框架(Infrastructure Framework),帮助Delphi开发者开发健壮、灵活、扩展性强的企业级应用程序。本框架基于Embarcadero® Delphi® 2010 for Win32平台。
许可
本项目授权许可为Apache License V2.0. 您可以自由使用,个人使用或商用。
特性
>> 控制反转/依赖注入(Inversion of Control/Dependency Injection)容器
Spring.IoC命名空间提供了简单而强大的IoC/DI容器,它支持:
* 使用代码或属性来进行注册和注入
* 使用Fluent-style方式完成注册
* 支持强类型的接口,并提供编译期检查
* 多种预定义生命周期类型(Singleton/Transient/SingletonPerThread?/Pooled)
* 支持构造函数注入、方法注入、属性注入和字段注入
* 可以为服务注册多种组件并使用名称进行标识
* 组件可以实现多种服务,并可以自动注册GUID接口作为服务
* 自动激活
* 循环依赖检查
* 支持反射或委托来实例化组件
* 多种生命周期接口(IInitializable, IStartable, IRecyclable, etc)
>> Cryptography Library
Spring.Cryptography命名区间包含了下列密码学算法:
* 哈希算法 (MD5, SHA-1/256/384/512)
* 校验算法 (CRC-16, CRC-32)
* 对称算法 (DES, Triple-DES. 支持CipherMode, PaddingMode and IV)
* 随机数生成器
>> Generic Collection Interfaces
Spring.Collections命名区间提供了.Net框架中存在的泛型容器接口:ICollection<T>, IList<T>, IDictionary<TKey, TValue>. 这3个接口都继承自System单元中的System.IEnumerable<T>和System.IEnumerable接口. 应使用TCollections类来创建这些接口的实例。
>> Design Patterns
Spring.DesignPatterns命名区间包括了下面3个可重用的设计模式:
* 单例模式(Singleton Pattern)
* 观察者模式(Observer Pattern)
* 规约模式(Specification Pattern)
>> Utility Classes
Spring.Utils和Spring.Utils.IO命名区间提供了很多封装好的工具类:
* TDriveInfo
* TEnvironment
* TOperatingSystem
* TMessageBox
* TBaseNCalculator
* TFileVersionInfo
* TFileSystemEntry
* TFileSearcher
* IFileEnumerable
* TNetwork
>> Spring.System
* TInterfaceBase
* TArgument
* TBuffer
* TEnum
* TRtti
* TNullable<T>
* TLifetimeWatcher
* TObjectHolder<T>
* TVersion
>> Numbering
Spring.Numbering命名区间提供了很多灵活的通用编号生成器。
>> Live Templates
自从Delphi2006引入的动态模板可以大大提高我们的编程效率。项目中的“Code Templates”文件夹包含了近30个模板。
>> Unit Tests
我们按照敏捷模式进行开发,并使用DUnit来进行单元测试。这可以在最大程度上保证代码质量,并使重构更加快速和安全。
项目主页:
http://delphi-spring-framework.google.com
下载地址:
http://delphi-spring-framework.googlecode.com/files/spring_v0.2.0.zip
在线Wiki:
http://code.google.com/p/delphi-spring-framework/wiki/GettingStarted