Project

General

Profile

Actions

Enhancement #177

closed

Rework component dependencies

Added by Marc Dequènes about 14 years ago. Updated almost 14 years ago.

Status:
Resolved
Priority:
Normal
Category:
Global :: Architecture
Target version:
Start date:
2010-10-31
Due date:
% Done:

100%

Estimated time:
Patch Available:
No
Found in Versions:
Confirmed:
No
Branch:
Help Needed:

Description

Now that the DNS services has been reworked and is much cleaner, i was about to use a Factory, but i discovered the details about the dependency injection pattern, and it seems quite a better design.

We should then try to use the Needle library and construct a Service Library. The bot would then instanciate its registry and be able to plug parts à needed. This will help split the CyborgHood framework in logical pieces.

Moreover, the deferred Service Models can help autoload a service with its dependencies.

Actions #1

Updated by Marc Dequènes about 14 years ago

We need to check if we switch to the default Ruby logger or keep log4r, which is perfectly fine.

Actions #2

Updated by Marc Dequènes about 14 years ago

  • Category set to Global :: Architecture
Actions #3

Updated by Marc Dequènes almost 14 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 60

Going in the Needle direction.

Core is now using a limited DI configuration, but MapMaker and Librarian use it more widely.

I do not intend to get something final in order to close this ticket, but when the Postmaster is ready and the Core is improved a bit, a first important step would be achieved.

Actions #4

Updated by Marc Dequènes almost 14 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 60 to 100

All bots now use DI and the rest of the core work is delayed into #205.

Actions

Also available in: Atom PDF