resurtm

Untitled

Dec 16th, 2016
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.72 KB | None | 0 0
  1. // 1. singleton based
  2. import Mailer;
  3. class RegistrationForm {
  4. public void register() {
  5. Mailer.getInstance().sendEmail(...);
  6. assert(typeof(Mailer.getInstance()) === 'ImapMailer');
  7. }
  8. }
  9.  
  10. // 2. service locator based
  11. import Mailer;
  12. class RegistrationForm {
  13. public void register() {
  14. // application is global var
  15. application.get('mailer').sendEmail(...);
  16. assert(typeof(application.get('mailer')) === 'ImapMailer');
  17. }
  18. }
  19.  
  20. // 3. service container + dependency injection based
  21. import Mailer;
  22. class RegistrationForm {
  23. private Mailer mailer;
  24. public RegistrationForm(Mailer m) {
  25. this.mailer = m;
  26. }
  27. public void register() {
  28. this.mailer.sendEmail(...);
  29. assert(typeof(this.mailer) === 'ImapMailer');
  30. }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment