初识delphi-spring-framework
介绍
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相关推荐
- Spring Framework 基础入门
参考资料 spring官网 https://spring.io/ https://www.bilibili.com/video/BV1Fi4y1S7ix?p=4&vd_source=c5810 ...
- 手动创建Spring项目 Spring framework
之前学习框架一直是看的视频教程,并且在都配套有项目源码,跟着视频敲代码总是很简单,现在想深入了解,自己从官网下载文件手动搭建,就遇到了很多问题记载如下. 首先熟悉一下spring的官方网站:http: ...
- Spring Framework 6 将采用 Java 17,是时候将你的应用升级了
关于从先前的长期支持版本(Java 11 和 Java 8)迁移代码,你需要知道的是什么? 整理 | 王晓曼 出品 | CSDN(ID:CSDNnews) Spring Framework 6 将采用 ...
- spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包
下载spring http://spring.io/ 最重要是在特征下面的这段话,需要注意: All avaible features and modules are described in the ...
- 在Spring Framework中@Inject和@Autowired有什么区别? 在什么条件下使用哪一个?
本文翻译自:What is the difference between @Inject and @Autowired in Spring Framework? Which one to use un ...
- 《Java Web高级编程——涵盖WebSockets、Spring Framework、JPA H
2019独角兽企业重金招聘Python工程师标准>>> <Java Web高级编程--涵盖WebSockets.Spring Framework.JPA Hibernate和S ...
- Spring Framework 5.3.6、5.2.14 发布
一个月前,小编刚给大家介绍过Spring Framework 5.3.5 的发布(紧随Java 16,Spring Framework 5.3.5 发布:涵盖JDK 16的支持!) 这才过来不到一个月 ...
- 紧随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 ...
- Spring Framework 5.2.5 发布,增加对 Java 14 的支持
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | https://www.oschina.net ...
- Spring Framework 5.2 正式发布,14项新特性一览
点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | xplanet 来源 | http://oschina.net/news/1103 ...
最新文章
- 冷启动问题:如何构建你的机器学习组合?
- OpenGL 镜面反射 IBL
- EBS并发管理器请求汇总(按照并发消耗时间,等待时间,平均等待事件等汇总)...
- 关于Chrome字体模糊解决方案
- 控制属性修改时间,控制时间,联合主键
- hdu-4080 Stammering Aliens 字符串hash 模板题
- 绝对位置,但相对于父位置
- java崩溃停在崩溃代码上_通过编写Java代码让Jvm崩溃
- Graphics进行局部旋转的办法
- SpringBoot构建电商基础秒杀项目
- 2022R2移动式压力容器充装考题模拟考试平台操作
- java for语句 实现一个功能:
- CCF论文列表(2022拟定)大更新!MICCAI空降B类!PRCV空降C类!ICLR继续陪跑...
- Windows Sever 2008 磁盘管理--磁盘分区
- Visio工具的跨线解决问题
- 果园篱笆c语言算法,天然篱笆墙:果园栽种这几种树
- Windows Phone周岁背后的喜和忧
- 什么是云平台_BIMer,你知道什么是BIM云平台吗?
- C++:建立Cylinder类,有三个double型私有数据成员:半径、高和体积,构造函数传递两个值:半径和高,计算体积。成员函数showVolume()用来显示每个对象的体积。
- Python:如何方便地用Python发outlook邮件