Advertisement
agel122

factory1

Aug 29th, 2020
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.84 KB | None | 0 0
  1. # это Product:
  2. class Datter:
  3.     def __init__(self, text):
  4.         self.text = text
  5.  
  6.  
  7. # это client:
  8. class Printer:
  9.     def usrprint(self, item, opt):
  10.         usrprinter = get_userprint(opt)
  11.         return usrprinter(item)
  12.  
  13.  
  14. # это creator:
  15. def get_userprint(opt):
  16.     if opt == 1:
  17.         return _usrprint1
  18.     elif opt == 2:
  19.         return _usrprint2
  20.     else:
  21.         raise ValueError(opt)
  22.  
  23.  
  24. # это реализации Product:
  25. def _usrprint1(item):
  26.     final_text1 = item.text + 'it\'s opt 1!!!'
  27.     return print(final_text1)
  28.  
  29.  
  30. def _usrprint2(item):
  31.     final_text2 = item.text + 'it\'s opt 2!!!'
  32.     return print(final_text2)
  33.  
  34.  
  35. if __name__ == '__main__':
  36.     usrdata = Datter('we are printing!!!')
  37.     func = Printer()
  38.     func.usrprint(usrdata, 1)
  39.     func.usrprint(usrdata, 2)
  40.     func.usrprint(usrdata, 3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement