Spring VS. HiveMind 优点缺点大比拼
在如下方面HiveMind优于Spring: * HiveMind强制针对接口编程; * HiveMind使用module概念来分组管理service,利于并行和迭代开发; * HiveMind使用的配置文件格式更清楚简明,特别是将接口和实现统一定义成1个service,而Spring可能要定义好几个bean元素; * 在增加或移去interceptor时,HiveMind只要修改1行配置...
Singleton Service Model in HiveMind
在Singlenton这种模式下,当一个服务第一次被请求的时候,这个服务的一个代理将会被生成。生成的这个代理实现了与实际服务相同的接口(也可以是对象),并且在服务接口的方法在第一次被调用的时候实际的服务对象(包括服务的实现类,拦截机,对别的服务的引用等)才会真正被创建。 HiveMind内部通过SingletonServiceMo...
Threaded Service Model in HiveMind
一般情况下,单例模式(singleton or primitive service models)足够使用。在有些情况下,服务需要保留某些详细状态。状态和多线程是没有联系的,所以与线程绑定的服务模型在需要的时候会创建一个服务实例并把它绑定到当前线程中去。实例一但创建就会一直绑定在线程中直到现成消亡。一个服务实例唯一对应于绑定的线程并且只能从绑定线程中访...
Primitive Service Model and Interceptor in HiveMind
在Singlenton这种模式下,当一个服务第一次被请求的时候,这个服务的一个代理将会被生成。生成的这个代理实现了与实际服务相同的接口(也可以是对象),并且在服务接口的方法在第一次被调用的时候实际的服务对象(包括服务的实现类,拦截机,对别的服务的引用等)才会真正被创建。 HiveMind内部通过SingletonServiceModel这个...
Hello Hivemind
Apache作为一个著名的开源组织,几乎涉足了Java企业级应用的方方面面,小到基本的类库,大到完整的应用。美妙的DI容器之争又怎么会少得了它呢!Hivemind便是Apache给我们的答案。 从Hivemind 的架构图中,我们可以看出,Hivemind原本是用来封装各种各样的服务,以提供给应用使用。从Hivemind文档中不断出现的“service”可以很好的印证这...
Hivemind简介
1. 一个完整的例子 a) 目录结构 |-- | |--META-INF | |-- | |--hivemodule.xml | |--log4j.properties | |--nick |--Test.java |--IHello.java |--IMessageBuilder.java |--impl |--HelloImpl.java &nb...
HiveMind介绍
介绍 HiveMind是一个服务(services)和配置(configuration)的微内核。 服务:HiveMind的服务由一系列容易访问和组合的普通Java对象组成(Plain Old Java Objects)。每一个服务最好用一个被它实现了的接口进行定义(但是HiveMind现在并不强制这点)。在需要的时候HiveMind会负责实例化每一个服务并且进行必要的配置。另外,HiveMind可以通过依赖注入让服...
HiveMind初探
今天HiveMind 1.0 的final版本出来了, 看了看他的examples代码。 有了IoC(DI)的感觉之后再看这些代码,越看感觉越清晰。 实现一个IoC的容器本身没什么可说的, 现在就以他自带的example为例,来看看HiveMind在这方面的实现方法。 example 程序是一个四则运算的类,基本思想是将加减乘除都做成接口,用不同的方式实现;计算器(Caculator)继承了加减乘除接口,...