Page "Proposals/BEP-0003" was changed by olemis
Diff URL: 
<https://issues.apache.org/bloodhound/wiki/Proposals/BEP-0003?action=diff&version=27>
Revision 27
Comment: [BEP-0003] Product environment as parametric singletons . Summary of 
debate in #bloodhound @ freenode and feedback from brane .
Changes:
-------8<------8<------8<------8<------8<------8<------8<------8<--------
Index: Proposals/BEP-0003
=========================================================================
--- Proposals/BEP-0003 (version: 26)
+++ Proposals/BEP-0003 (version: 27)
@@ -69,6 +69,30 @@
 TypeError: Initializer must be called with 
     trac.env.Environment instance as first argument 
     (got multiproduct.env.ProductEnvironment instance instead)
+
+}}}
+
+''Product environments'' are [http://www.jot.fm/issues/issue_2007_03/column2/ 
parametric singletons] on the combination of environment and product prefix . 
In other words this means that 
+
+{{{
+#!py
+
+>>> ProductEnvironment(env, prefix) is ProductEnvironment(env, prefix)
+True
+
+}}}
+
+
+{{{
+#!div class="well"
+
+{{{
+#!span class="label label-info"
+
+  Implementation notes
+}}} 
+
+In order to make this happen and yet avoid object explosion , some caching 
strategy (e.g. 
[http://en.wikipedia.org/wiki/Cache_algorithms#Least_Recently_Used LRU cache] 
like [http://docs.python.org/dev/library/functools.html#functools.lru_cache 
functools.lru_cache] or equivalent) should be installed in place , maybe 
combined with [http://docs.python.org/2.7/library/weakref.html weak references] 
.
 
 }}}
 
-------8<------8<------8<------8<------8<------8<------8<------8<--------

--
Page URL: <https://issues.apache.org/bloodhound/wiki/Proposals/BEP-0003>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound (incubating) issue tracker

This is an automated message. Someone added your email address to be
notified of changes on 'Proposals/BEP-0003' page.
If it was not you, please report to .

Reply via email to