changeset 180:44c8030dd37d

created
author 127.0.0.1
date Mon, 03 Feb 2014 12:23:49 +0100
parents fe939006cd7e
children 08343d9d8af2
files factory
diffstat 1 files changed, 19 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/factory	Mon Feb 03 12:23:49 2014 +0100
@@ -0,0 +1,19 @@
+**Wrong:**
+{{{#!python
+class A(object):
+    ...
+
+class B(A):
+    def __new__(cls, *args, **kwargs):
+        if ...:
+            return A.__new__(*args, **kwargs)
+        return B.__new__(*args, **kwargs)
+}}}
+
+**Better:**
+{{{#!python
+def make_A_or_B(*args, **kwargs):
+    if ...:
+        return A(*args, **kwargs)
+    return B(*args, **kwargs)
+}}}    
\ No newline at end of file