介绍

Delphi Spring Framework是一个国际性的社区开源项目,我们的使命是提供一个强劲的基础框架(Infrastructure Framework),帮助Delphi开发者开发健壮、灵活、扩展性强的企业级应用程序。本框架基于Embarcadero® Delphi® 2010 for Win32平台。

许可

本项目授权许可为Apache License V2.0. 您可以自由使用,个人使用或商用。

架构

Delphi Spring Framework由下面3个类库组成:

  • Spring.Base

提供框架的基础类库,部分类基于.Net Framework进行设计。

  • Spring.Core

提供更高层次的核心功能,比如IoC容器。

  • Spring.Extensions

包含了一些设计良好的实用功能,比如通用编号生成器。

特性

  • 控制反转/依赖注入(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来进行单元测试。这可以在最大程度上保证代码质量,并使重构更加快速和安全。

转载于:https://www.cnblogs.com/wxy8/archive/2011/01/12/1933460.html

初识delphi-spring-framework相关推荐

  1. Spring Framework 基础入门

    参考资料 spring官网 https://spring.io/ https://www.bilibili.com/video/BV1Fi4y1S7ix?p=4&vd_source=c5810 ...

  2. 手动创建Spring项目 Spring framework

    之前学习框架一直是看的视频教程,并且在都配套有项目源码,跟着视频敲代码总是很简单,现在想深入了解,自己从官网下载文件手动搭建,就遇到了很多问题记载如下. 首先熟悉一下spring的官方网站:http: ...

  3. Spring Framework 6 将采用 Java 17,是时候将你的应用升级了

    关于从先前的长期支持版本(Java 11 和 Java 8)迁移代码,你需要知道的是什么? 整理 | 王晓曼 出品 | CSDN(ID:CSDNnews) Spring Framework 6 将采用 ...

  4. spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包

    下载spring http://spring.io/ 最重要是在特征下面的这段话,需要注意: All avaible features and modules are described in the ...

  5. 在Spring Framework中@Inject和@Autowired有什么区别? 在什么条件下使用哪一个?

    本文翻译自:What is the difference between @Inject and @Autowired in Spring Framework? Which one to use un ...

  6. 《Java Web高级编程——涵盖WebSockets、Spring Framework、JPA H

    2019独角兽企业重金招聘Python工程师标准>>> <Java Web高级编程--涵盖WebSockets.Spring Framework.JPA Hibernate和S ...

  7. Spring Framework 5.3.6、5.2.14 发布

    一个月前,小编刚给大家介绍过Spring Framework 5.3.5 的发布(紧随Java 16,Spring Framework 5.3.5 发布:涵盖JDK 16的支持!) 这才过来不到一个月 ...

  8. 紧随Java 16,Spring Framework 5.3.5 发布:涵盖JDK 16的支持!

    昨天小编刚给大家介绍过最新的Spring Boot 2.4.4.Spring Cloud 2020.0.2 发布内容,还没看过的小伙伴点这里:Spring Boot 2.4.4.Spring Clou ...

  9. Spring Framework 5.2.5 发布,增加对 Java 14 的支持

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | https://www.oschina.net ...

  10. Spring Framework 5.2 正式发布,14项新特性一览

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | xplanet 来源 | http://oschina.net/news/1103 ...

最新文章

  1. 冷启动问题:如何构建你的机器学习组合?
  2. OpenGL 镜面反射 IBL
  3. EBS并发管理器请求汇总(按照并发消耗时间,等待时间,平均等待事件等汇总)...
  4. 关于Chrome字体模糊解决方案
  5. 控制属性修改时间,控制时间,联合主键
  6. hdu-4080 Stammering Aliens 字符串hash 模板题
  7. 绝对位置,但相对于父位置
  8. java崩溃停在崩溃代码上_通过编写Java代码让Jvm崩溃
  9. Graphics进行局部旋转的办法
  10. SpringBoot构建电商基础秒杀项目
  11. 2022R2移动式压力容器充装考题模拟考试平台操作
  12. java for语句 实现一个功能:
  13. CCF论文列表(2022拟定)大更新!MICCAI空降B类!PRCV空降C类!ICLR继续陪跑...
  14. Windows Sever 2008 磁盘管理--磁盘分区
  15. Visio工具的跨线解决问题
  16. 果园篱笆c语言算法,天然篱笆墙:果园栽种这几种树
  17. Windows Phone周岁背后的喜和忧
  18. 什么是云平台_BIMer,你知道什么是BIM云平台吗?
  19. C++:建立Cylinder类,有三个double型私有数据成员:半径、高和体积,构造函数传递两个值:半径和高,计算体积。成员函数showVolume()用来显示每个对象的体积。
  20. Python:如何方便地用Python发outlook邮件

热门文章

  1. flume http source示例讲解
  2. linux多路径配置
  3. Tomcat系列(4)——Tomcat 组件及架构详细部分
  4. shell脚本启动语法错误syntax error near unexpected token '{
  5. HTTP压力测试工具wrk的安装及测试
  6. MyEclipse内存不足配置
  7. 工作回忆总结(第二年)
  8. Matlab中使用varargin来实现参数可变的函数
  9. 【Matlab】 读取文件各种方法
  10. 初次使用CocoaPods遇到的问题总结