Witam.

Zaczynam swoją przygodę i pomyślałem, że chcę się szkolić tworząc "prostą" grę (idle, incremental) w której użytkownik klika przycisk i dostaje za to monety, za które może kupić różne ulepszenia (tak w skrócie). Nie umiem tylko załapać "organizacji" aplikacji. Zacząłem sobie od głównego modułu 'app', który posiada kontroler 'appController', w którym na początku chcę "dostawać" numer wersji gry z innego modułu.

Całość w obecnej chwili wygląda tak:

  1. // app.module.js
  2. angular.module('app', [
  3. 'app.version'
  4. ]);
  5.  
  6. // app.controller.js
  7. angular
  8. .module('app')
  9. .controller('appController', appController);
  10.  
  11. appController.$inject = ['versioning'];
  12.  
  13. function appController(versioning) {
  14. var self = this;
  15.  
  16. self.version = '';
  17.  
  18. init();
  19.  
  20. function init() {
  21. getVersion();
  22. }
  23.  
  24. function getVersion() {
  25. return versioning.getVersion()
  26. .then(function (data) {
  27. self.version = data;
  28. return self.version;
  29. });
  30. }
  31.  
  32. }
  33.  
  34. // version.module.js
  35. angular.module('app.version', []);
  36.  
  37. // version.factory.js
  38. angular
  39. .module('app.version')
  40. .factory('versioning', versioning);
  41.  
  42. versioning.$inject = ['$q'];
  43.  
  44. function versioning($q) {
  45. var version = '0.0.1';
  46.  
  47. var services = {
  48. getVersion: getVersion
  49. };
  50.  
  51. return services;
  52.  
  53. function getVersion() {
  54. return $q.when(version);
  55. }
  56. }


Możecie mi powiedzieć czy dobrze zaczynam? Ew. nakierować co zrobiłem źle lub co można zrobić lepiej? Głównie chodzi mi o komunikację między modułami. Czy np moje pobieranie wersji jest ok czy lepiej zrobić proste self.version = versioning.version (+ przeróbka versionFactory)?

Czy 1 kontroler w aplikacji (grze) może wystarczyć?