From: leon breedt Date: 2004-10-10T18:35:05+09:00 Subject: DI service change notifications (Syringe) hi, i'm playing around with Syringe (http://ruby.jamisbuck.org/syringe/), and i've got an idea for additional behaviour that i want, though i'm not sure if its a good idea yet. what i want, is the option for services to be less static (i.e. not a singleton where instantiation happens only once. i want more control over service lifecycle..) would what i'm asking for be a different "model", to use Syringe terminology? the ability to flag a service as dirty, and automatically, all its consumers get flagged as dirty too, for refreshing on next usage. contrived pseudocode example: env = { :log_filename => 'test.log' } container.register(:log_filename) { env[:log_filename] } container.register(:logger) { |c| Logger.new(c.log_filename) } now, since one can change the value in env, when making that change, the matching :log_filename service would be flagged as dirty, and, on next usage, the block executed again, and logger logs to different file without program restart. good idea? crap? leon