Advertisement
Guest User

Constructor Injection in Python - possibly the wrong way

a guest
Jan 18th, 2013
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.     # Business and Data Objects
  3.     class Foo:
  4.         def __init__(self,create_bar,prefix):
  5.             self.create_bar = create_bar
  6.             self.prefix = prefix
  7.         def do_stuff(self,times):
  8.             for _ in range(times):
  9.                 bar = self.create_bar(self.prefix)
  10.                 print(bar)
  11.    
  12.     class Bar:
  13.         def __init__(self,prefix):
  14.             self.prefix = prefix
  15.         def __str__(self):
  16.             return str(self.prefix)+"Hello"
  17.            
  18.     class Prefix:
  19.         def __init__(self,name):
  20.             self.name = name
  21.             self.count = 0
  22.         def __str__(self):
  23.             self.count +=1
  24.             return self.name+" "+str(self.count)+": "
  25.        
  26.     # Wiring up dependencies
  27.     def create_bar(prefix):
  28.         return Bar(prefix)
  29.    
  30.    
  31.     def create_prefix(name):
  32.         return Prefix(name)
  33.    
  34.    
  35.     def create_foo(name):
  36.         return Foo(create_bar,create_prefix(name))
  37.    
  38.     # Starting the application
  39.     f1 = create_foo("foo1")
  40.     f2 = create_foo("foo2")
  41.     f1.do_stuff(3)
  42.     f2.do_stuff(2)
  43.     f1.do_stuff(2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement