Advertisement
Guest User

Constructor Injection in Python - possibly the wrong way

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