Rober C. Martinの "Clean Code"の本で、どのように角度指示の中に機能をカプセル化できるのだろうか。コメントを省略し、代わりに話す名前で機能を使用したいと思います。角度:ディレクティブにロジックをカプセル化する方法は?
このコードを想像してみて:
app.directive('myDirective' function() {
return {
link: function(scope) {
// initialize visual user state
scope.visualUserState = {
// some very detailed state initialization
}
}
})
ロード機能をカプセル化するために、私はこのようにこのコードを交換したいと思います:
app.directive('myDirective' function() {
return {
link: function(scope) {
scope.initializeVisualUserState = function() {
scope.visualUserState = {
// some very detailed state initialization
}
}
scope.initializeVisualUserState();
}
})
第二のアプローチは "ということである上、私は好きではない何か「loadDataFromServer」は、ビューではなくリンク関数でのみ使用される機能です。そのため、スコープには、ビューとのやりとりに使用されるデータや関数のみを保持する必要があります。
また、コードはあまり読みにくくないと思います。
この機能は非常にプライベートなものですから、サービスの使用と注入は適切な方法ではないと思います。
この機能をカプセル化する方がよいでしょうか?