So habe ich eine Reihe von Fabriken, die ziemlich ähnlich aussehen. Ich möchte vielleicht eine generische Funktion machen, die doppelten Code reduziert.Generische Fabrik/Service zu vermeiden doppelten Code in Angular
Beispiel Code:
.factory('neQueryService', function ($http, $resource, constants) {
return $resource(constants.GEODATA_QUERY, {},
{
get: {
method: 'GET',
transformResponse: function(data, headers, status){
var response = {};
response.data = data;
response.headers = headers();
response.status = status;
return response;
}
}
}
);
Und
.factory('neTaskService', function ($http, $resource, constants) {
return $resource(constants.GEODATA_TASK, {},
{
get: {
method: 'GET',
transformResponse: function(data, headers, status){
var response = {};
response.data = data;
response.headers = headers();
response.status = status;
return response;
}
}
}
);
Wie Sie sehen können, alles von der "get" bis zu "Rückkehr" i unter den Fabriken identisch. Gibt es eine intelligente "Best-Practice" -Methode, diesen Teil vielleicht in eine separate Funktion zu überführen und sich darauf in allen Fabriken zu beziehen?
Ausgezeichnete Vorschläge sehen. Ich habe den letzten benutzt. Aber fragen Sie sich immer noch, wie man weiß, welcher "Best Practice" -Stil ist? Irgendwelche Worte dazu? – Amir
@Amir Ich denke, das ist eher eine Frage der Präferenz als alles andere. Ich würde die zweite bevorzugen, da sie die größte Menge an Code herausrechnet, aber wenn Sie zum Beispiel nicht immer Ressourcen auf diese Weise erstellen wollten und manchmal '$ resource (constants.GEODATA_QUERY, somethingSpecificToThisResource, resourceConfig) aufrufen wollten. ', dann wäre die erste Option besser. – JLRishe
Danke, ich verstehe deinen Standpunkt. – Amir