В настоящее время я сталкиваюсь с загадкой: как правильно подключить 2 объекта javascript?
Представьте себе приложение, такое как текстовый редактор с несколькими различными файлами. У меня есть HTML-страница, представляющая представление для ноутбука. У меня есть файл notebook.js, который содержит определения классов для NotebookController и Notebook View.
Объект NotebookControler, отвечающий за выполнение бизнес-логики на ноутбуке, например "Сохранить записную книжку", "Загрузить блокнот", "Новый ноутбук". NotebookView отвечает за управление HTML, который используется для презентации. Он делает вещи низкого уровня, такие как "получить/установить блокнот", "получить/установить название ноутбука". Он также прослушивает события DOM (onClick) и запускает бизнес-события (saveNotebook). Это моя попытка в пассивном представлении.
Я хочу, чтобы мой клиентский код javascript был объектно-ориентированным, разделенным интересам и проверяемым единицей. Я хочу протестировать NotebookController с макетным NotebookView и наоборот. Это означает, что я не могу просто создать экземпляр NotebookView внутри NotebookController. Так что я
- Поместите некоторую логику в свой блокнот .js, который соединяет 2 вместе
- У меня есть глобальная функция в моем приложении, которая знает, чтобы создать экземпляр одного из них и связать их вместе.
- Используйте Injection Dependency, либо самодельный, либо что-то вроде SquirrelIoc
В Java выбор является естественным: используйте Spring. Но это не похоже на JavaScript-y. Какая правильная вещь?