asp.net mvc français Comment travailler avec NopCommerce MVC en équipe



asp.net mvc 6 (1)

Nous sommes en train de regarder la version la plus récente (2,60) de NopCommerce dans MVC et nous l'intégrerons très bientôt ... Nous avons téléchargé le code source et payé les 20 $ pour la documentation du guide de l'utilisateur. La documentation est super! Je veux dire ... c'est génial dans le sens où il explique comment déployer, installer et comment travailler autour de l'interface utilisateur Frontend et Backend. C'est génial pour un aperçu général, mais ce qui lui manque, c'est la compréhension de la façon de travailler avec NopCommerce en tant qu'équipe. Quelles sont / sont les meilleures pratiques etc ...

A titre d'exemple (ou parallèle), si vous décidez de travailler avec Dotnetnuke en équipe, vous travaillez généralement de la façon suivante:

  • Chaque développeur télécharge / installe Dotnetnuke localement sur sa machine.
  • Vous téléchargez / installez également Dotnetnuke sur un serveur dédié (disons dev-server).
  • En tant que développeur, vous travaillez et créez des modules que vous testez localement dans votre installation Dotnetnuke.
  • Une fois cela fait, vous empaquetez votre module (et tous les scripts SQL fournis avec votre module) dans un fichier zip.
  • Une fois que le paquet est prêt, vous téléchargez / installez ce paquet sur le serveur dédié (dev-server).

Cette approche fonctionne très bien pour Dotnetnuke et plus important encore si vous avez une équipe de développeurs qui créent des modules.

Ma question est de savoir comment une équipe travaille avec NopCommerce MVC?

Je suppose que c'est une mauvaise idée de travailler directement dans le code source au cas où votre équipe décide de modifier les éléments de base / source, ce qui rendra toute mise à niveau vers des versions plus récentes impossible (ou cassera les changements).

Je ne sais pas si mon parallèle avec Dotnetnuke est correct ... mais quelqu'un aurait-il une idée (ou m'aiderait à clarifier) ​​comment fonctionne une équipe avec NopCommerce MVC.

De plus, l'équipe ne devrait-elle se fier qu'à la création de plugins pour NopCommerce et ne pas modifier le core ou cela ne devrait-il pas être pertinent?

Qu'en est-il de l'ajout de nouveaux objets dans SQL (ou la modification de ceux existants) devrions-nous préfixer nos objets dans le cas où une mise à niveau NopCommerce MVC éventuelle crée des objets similaires et / ou les écrase?

Merci de m'avoir aidé à faire la lumière sur ce sujet.

Cordialement

Vince


Answer #1

Les plugins dans NopCommerce sont presque comme des modules dans DNN. Selon ce que vous devez faire, il est parfois nécessaire de modifier le code de base.

Ce que j'ai fait pour les Services est de créer une nouvelle classe et d'hériter du service existant, puis de remplacer la fonction que vous voulez changer. Créez une nouvelle classe DependencyRegistrar et définissez vos nouvelles classes de service en tant qu'implémentation pour cette interface particulière. Assurez-vous également que la propriété Order est 1 afin que votre classe DR soit chargée après la classe stock. Puisque vous héritez de la classe principale, toutes les fonctions que vous n'avez pas remplacées seront traitées par la classe parente. Si j'ai besoin d'ajouter une nouvelle fonction, je modifie simplement l'interface, je place un bout dans la classe de stock et je l'implémente dans la mienne.

Les vues dans le projet Nop.Web peuvent être remplacées par des thèmes. Les trucs d'administration et les contrôleurs Web deviennent plus compliqués. Je modifie juste ces fichiers directement.

Les classes Core et Data peuvent être effectuées en utilisant des classes partielles pour ajouter vos nouveaux champs.

Dans tous les cas, vous devrez toujours fusionner les modifications avec votre solution lors de la publication d'une mise à jour. Mon opinion est qu'il vaut mieux écrire du code propre et lisible maintenant et mordre la balle de fusion quand elle vient.

Je ne m'inquiète pas vraiment des scripts SQL pour l'instant car je suis un seul développeur, mais peut-être que vous ajoutez un dossier pour les scripts ALTER et les nommez après le jour où ils ont été créés. Ensuite, chaque développeur sait quels scripts ils doivent exécuter lorsqu'ils sont les derniers.





nopcommerce