Castle是针对.NET平台下的一个非常优秀的开源项目,从数据访问框架 ORM到依赖注入容器,再到WEB层的MVC框架、AOP,基本包括了整个开发过程中的所有东西,为我们快速的构建企业级的应用程序提供了很好的服务。
Autofac和其他容器的不同之处是它和C#语言的结合非常紧密,在使用过程中对你的应用的侵入性几乎为零,更容易与第三方的组件集成。
HiveMind是一个服务(services)和配置(configuration)的微内核。 服务 :HiveMind的服务由一系列容易访问和组合的普通Java对象组成(Plain Old Java
一个虽然简单但也是一个java开源的AOP框架。
Warp framework 是基于Google Guice的轻量级Web开发框架 Warp框架充分利用了JDK5.0的Annotation和泛型机制,并且基于Google Guice这个IoC框架,提供了full-
FastAOP是一个高性能AOP框架。最初开发该框架是为了支持对大型J2EE应用程序进行性能剖析和监测。它几乎不占用运行时间。FastAOP已经在Websphere和Jboss应用服务器上得到成功测试。
JBoss 4.0带了一个AOP框架。这个框架和JBoss应用服务器紧密地结合,但是你也能够在你的应用中,单独的运行它。
Spring Framework 是一个开源的 Java/Java EE 全功能栈(full-stack)的应用程序框架,以 Apache
Aspect#就是castle.dynamicproxy的扩展,而castle.dynamicproxy得本质就是通过reflection,emit,delegate,在运行时动态的为非sealed类的virtual方法生成proxy类。Aspect#则是在此基础上定义了一套configuration
VRaptor 是一个MVC与IOC的Web框架.它采用了许多框架的思想包括:JBoss Seam,Stripes,Webwork,Hibernate
基于Java的简单、动态、轻量级、强大的AOP框架。既强大又简单,有助于更容易的集成AOP到新的或已存在的项目中。AspectWerkz 主要特性有:
Excalibur,它的主要产品是一个由java写成的,名字叫做Fortress(要塞) 的轻量级的可嵌入式反向控制容器。
AspectJ是一个面向方面的框架,它扩展了Java语言。AspectJ定义了AOP语法所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件。
JAC ( J ava A spect C omponents)是一个应用服务器。它为Java2平台、用于Java开发的企业开发环境(J2EE)、和基于Web的分布式应用,提供开放式资源
Google公司开发的轻量级IoC容器,其特点是: 1、速度快,据说是spring的100倍速度
Spring.NET 是一个关注于.NET企业应用开发的应用程序框架。它能够提供宽广范围的功能,例如依赖注入、面向方面编程(AOP)、数据访问抽象,
DynamicAspects能够让你使用java编写的面向切面的程序设计,它使用在Sun JDK 1.5中介绍的”instrumentation”与”agent”,Aspects能够软件各模块之间的关系在运行期安装与使用。
dynaop框架使用一个基于运行时的编程机制将AOP代码插入对象中,而不是返回一个具有特征代码的对象。
Eos 语言扩展了C#语言,引入一套完整的AOP语法,并提供Eos专用编译器,使其性能高于其他AOP实现技术。支持多语言的.NET平台的应用使跨语言应用AOP成为可能。
CAESAR是一个新的与Java兼容的AOP语言。
AspectDNG和 Aspect# 其实有一点是非常相似的,那就是他也和Aspect#那样基于另一个类库rail,rail是干什么用的呢?简单的说,rail是用来的做静态织入用的,你给我任何一个assembly,只要没有混淆,我都可以用rail在
Ninject为.NET应用程序提供快速、轻型的依赖注入器而著称。它有助于开发人员将应用程序拆分为松耦合、高内聚的功能片断的集合,然后以灵活的方式将它们粘连在一起。从软件架构层面上使用Ninject,可以使得你的代码
PicoContainer是一个“微核心 ”(micro-kernel)的容器。它利用了Inversion of Control模式和Template
PROSE是一个动态编排(weaving)工具(允许在运行期插入或抽取aspects)。PROSE aspects是规则的Java对象能够被发送到或从网络上的计算机接收。签名可被用于保证它们的完整性。一旦一个aspect插入到JVM中,任何事件
EAOP 是一个Java的基于事件触发机制的面相方面编程框架。
Signal Framework 是 Spring IoC 容器在 J2ME 平台下的移植版本,旨在克服 J2ME 平台的限制提供一个J2ME 平台下的
Swiz 模仿了Spring 框架,它的核心是个简单的控制反转框架。借助于IoC框架,应用组件(例如视图)无需实例化其依赖(所用的对象),甚至都不用查找。在组件创建时框架会注
NKalore 是一款编程语言,它扩展了C#允许在.net平台使用AOP。NKalore的语法简单、直观,它的编译器是基于Mono
Noop 是一个看起来很像Java的、运行在JVM上的语言,而目标则是在语言起步的时候就 建立起依赖注入(dependency
AspectWerkz 是用于 Java 的一个轻量级的、面向方面的编程框架。它通过修改字节码在项目构建时、类装载时或运行时插入类。
Gravity是一个依赖与配置管理框架.这个框架的主要的焦点是放在依赖注入/反转控制设计模式上,它自带一个BeanShell脚本配置组件。
Spring ActionScript 是 ActionScript 编程语言的一个 IoC 、MVC 编程框架,主要用于 Flash、Flex 和 AIR
CaesarJ是一种新的基于Java的编程语言,有利于更好地开发模块化和可重复使用的组件。这些组件协作的类,他们可以模块化横切功能或无功能的关注。Caesar语言功能帮助执行,摘要和整合这样的组件。凯撒可以结合使用
jspf (Java Simple Plugin Framework) 是一个插件框架,集成了很多 IoC 框架的概念在里面。
Encase 是C#编写开发的为.NET平台提供的AOP框架。Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式。这种部署方面(aspects)的方法帮助缺少经验的开发人员提高开发效率。
Qi4j本身是一个提供给所有java开发者使用的面向组合编程的Java框架。尽管面向组合编程需要较大的思想转变,但是面向组合编程不需要单独的工