Наткнулся на одно приложение и меня оно заинтересовало. Насколько я понимаю, в AngularJS принципы OOP используются под капотом, но вот зачем и с какой целью их использовать в контроллерах сервисах и директивах. Был бы очень признателен, если кто толково прокомментирует нижеприведенные отрывки кода:
1. Factory:
fcatory('Fac', function () {
return new Contr();
function Constr () {
this.tratata = 123;
}
Constr.prototype.fu = function () {}
})
2. Directive:
.directive('myDirective', function () {
function MyController () {
this.x = 1231234;
}
MyController.prototype.fu = function () {}
function Template () {
// тут логика конструктора
}
return {
restrict: E,
*****,
template: new Template();
controller: function($scope, $element, $attrs) {
var myController = new MyController($scope, $element, $attrs);
$scope._myController = myController;
}
}
})
Какое преимущество использование данного подхода в приложении AngularJS, есть ли оно?