2013-07-26 8 views
5

Załóżmy, że potrzebuję jakiegoś ogólnego obiektu, który nie jest zależny od AngularJS (np. Specyficzna kolekcja z zaimplementowanymi specjalnymi zachowaniami).W AngularJS app używa prostych obiektów javascript dobrych lub złych praktyk?

Mogę go całkowicie wdrożyć poza AngularJS i używać go w usługach/kontrolerach. Mogłem również zrobić to jako serwis/fabryka i używać go w innych komponentach.

Nie wiem, czy pisanie kodu poza AngularJS jest dobrą czy złą praktyką, a następnie użycie go w aplikacji. Jedną wielką wygraną jest to, że podczas testowania takiego kodu jest to łatwiejsze, ponieważ nie wymaga zależności AngularJS.

Czy zachowujesz cały kod aplikacji w świecie AngularJS w swoich aplikacjach?

Odpowiedz

1

Ogólnie dobrym pomysłem jest faworyzowanie prostszego podejścia, które w tym przypadku miałoby polegać na użyciu zwykłego obiektu JS.

Będzie bardziej elastyczny dzięki mniejszym zależnościom zewnętrznym, a także mniej rzeczy do zrobienia, jeśli chcesz go przetestować.

Scenariusz, w którym możesz chcieć zintegrować go głębiej w kanciastą, to w rzeczywistości wymaga zastrzyku zależności lub innych funkcji dostarczanych przez kątowe, ale jeśli wykonuje swoją pracę bez tego, to tak naprawdę nie widzę powód, żeby je pomieszać.

Jeśli chciałbyś zrobić to jako zwykły obiekt JS, a następnie być może wstrzyknąć go za pomocą układu kątowego DI do jednego z twoich kątowych elementów, byłoby całkiem proste, aby owinąć obiekt do fabryki oddzielnie.

+0

Dzięki. To, co teraz robię, nazywa się 'nowym MyObj' w fabryce/usłudze, używając go. Ale mógłbym rozważyć zawinięcie go w oddzielną służbę/fabrykę Angular, tak jak zalecałeś. – grafthez