We've been handling some constructive criticisms from repoze.bfg developers with respect to verbosity resulting from use of unnamed utility registrations in a component architecture registry.
These criticisms, and our ameliorations are detailed here: <http://docs.repoze.org/bfg/1.1/designdefense.html#bfg-uses-the-zope-component-architecture-zca> In repoze.bfg, we've actually decided to use a subclass of the component registry which also inherits from "dict". This makes it possible to spell common unnamed "utility" registrations and lookups as: utility = SomeUtilityImplementation() registry['someutility'] = utility someutility = registry['someutility'] Instead of the more familiar: class ISomeUtility(Interface): pass utility = SomeUtilityImplementation() registry.registerUtility(utility, ISomeUtility) Doing this was extremely simple. Here's the "meat" of the subclass: from zope.component.registry import Components class Registry(Components, dict): pass I think it would be reasonable to make this change in zope.component itself. Dissenters? - C _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org https://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope )