Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. function Worker (name, office, salary, city) {
  2. this.name = name;
  3. this.office = office;
  4. this.salary = salary;
  5. this.city;
  6. }
  7.  
  8. // builder pattern
  9.  
  10. function WorkerBuilder() {
  11. var name = 'default name';
  12. var office = 'Goyello';
  13. var salary = 300;
  14. var city = 'Sosnowiec';
  15.  
  16. return {
  17. name: function(name) {
  18. name = name;
  19. return this;
  20. },
  21. age: function(age) {
  22. age = age;
  23. return this;
  24. },
  25. office: function(office) {
  26. office = office;
  27. return this;
  28. },
  29. city: function(city) {
  30. city = city;
  31. return this;
  32. },
  33. build: function() {
  34. var worker = new WorkerBuilder(this);
  35. return worker;
  36. }
  37. }
  38. }
  39.  
  40. var tomasz = new WorkerBuilder()
  41. .name('Tomasz')
  42. .age(29)
  43. .office('Facebook')
  44. .city('Sopot')
  45. .build();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement