Jul 23
Java guys aren’t the only IoC geeks.
In the Ruby world you have Copland which borrows ideas from HiveMind, while putting a Ruby twist on things.
Rather than XML, or SDL, they use good ole YAML which ends up like:
id: quickstart service-points: SimpleService: create-instance: class: simple-service/ASimpleService
The manual is nicely written, and it is fun to see that the introduction has two answers to “What is Copland?”.
- Copland sans Buzzwords
- Copland avec Buzzwords
Features
Currently, Copland features the following buzzwords:
- Type 2 IoC (setter injection)
- Type 3 IoC (constructor injection)
- YAML-based descriptor configuration
- Object-, Class-, and Singleton-backed services
- Service factories, with extendable rule-processing engine for defining new factories.
- Interceptors (for adding basic AOP-like “pre” and “post” hooks to every method of a service)
- Multicast services, which do nothing themselves except delegate recieved messages to a set of other interested services.
- Event/Listener infrastructure, for notifying services at various points during another service’s lifecycle.
- dRuby and SOAP support, in the form of two core services that applications may use to export their services to remote clients.