Avec plus de 3200 livres de cuisine disponibles dans les supermarchés Chef, il existe souvent déjà un livre de cuisine qui couvre le besoin que je dois résoudre.
Presque chaque fois qu'un changement est nécessaire dans un modèle, une variable ou une ressource dans un livre de recettes existant.
Quelles sont les étapes pour remplacer et / ou améliorer les livres de cuisine existants? Sans bifurquer leur code et conserver la possibilité d'obtenir des mises à jour de version à l'avenir.
Réponses:
Il y a beaucoup de spécificités mais le modèle global que nous utilisons est "envelopper et étendre". L'idée générale est de faire un livre de cuisine qui dépend du livre de cuisine de la communauté, généralement nommé
mycompany_originalthing
, puis de faire des recettes dans celui qui appelleinclude_recipe 'originalthing::whatever'
mais avec plus de choses ajoutées avant / après ou avec des appels à des choses commeedit_resource
changer les ressources. A éviteredit_resource
autant que possible car cela conduit à du code fragile, mais il est là si vous en avez besoin. Vous pouvez également utiliser des livres de recettes wrapper pour définir des attributs, des sous-classes ou des ressources personnalisées, etc.Pour le cas spécifique de «J'ai besoin de modifier un modèle dans une recette communautaire», cela ressemblerait à ceci:
Vous pouvez trouver plus de détails sur
edit_resource
et amis sur https://coderanger.net/rewind/Avec des livres de cuisine basés sur des ressources personnalisées au lieu de recettes, les choses peuvent devenir plus complexes, mais les détails dépendent beaucoup de la façon dont le livre de cuisine que vous étendez est écrit.
la source