Maison > Questions et réponses > le corps du texte
Récemment, je travaille sur un projet configurable pour la page événementielle de l'entreprise, appelons-le cms
La fonction est de configurer le module correspondant dans le backend de gestion à chaque fois qu'il y a un événement promotionnel tel que Double 11, et enfin de générer la page
L'interface a une structure similaire à celle-ci
{
list:[
{
type: 1, //这个模块的type,比如1对应商品组合模块
cmsId: 1, //这个模块的唯一id
data: {
//具体的这个模块的数据
}
}
],
code: 200,
msg: ''
}
Ma réflexion actuelle est la suivante :
Définir une interface commune via un modèle d'usine simple
var factoryInterface = function(type,data){
switch(type){
case 1:
return new BannerWithBroadcastTpl(data)
break;
case 2:
return new PicDisplayTpl(data)
break;
}
}
BannerWithBroadcastTpl et PicDisplayTpl sont tous deux des composants définis. Chaque composant a une méthode de création pour créer le composant
.Utilisez le code suivant pour enfin terminer l'initialisation du projet
for(var i=0,length=data.length;i<length;i++){
!(function(i){
factoryInterface(data[i].type,data[i]).create(_this.root)
})(i)
}
Maintenant, je souhaite discuter avec vous, maîtres, s'il existe d'autres plans de conception de code pour ce plan. Tout le monde est invité à commenter~~
.ringa_lee2017-05-19 10:43:26
Écrivez-le devant
Avant la conception du projet, posons quelques questions :
Quels problèmes devons-nous résoudre dans le développement réel des activités Double 11 ? Quelles sont les solutions à ces problèmes ?
Pouvons-nous utiliser ce système pour résoudre les problèmes que nous avons rencontrés dans le développement actuel des activités Double 11 ? Peut-il résoudre des dizaines de pour cent des problèmes ?
Combien coûte la réalisation de ce projet ? Est-il intéressant d’utiliser ce Coût pour résoudre une certaine proportion de problèmes ?
Cœur du projet
Plan
Conception
Mise en œuvre (phasée)
Problèmes de gauche
Plan du projet
Posez la question :
Combien de points de conception identiques y a-t-il dans chaque événement Double 11 et combien de points peuvent être résumés ? ---> Voulez-vous être un système de modèles simple ou un système doté de fonctions complètes ? Entièrement automatique ou semi-automatique ? ---> Quelles fonctions doivent être mises en œuvre ? ---> Quelles sont les ressources disponibles et sont-elles suffisantes ? (Main-d'œuvre, temps, etc.)
Réfléchissez clairement aux questions ci-dessus et donnez un plan complet.
Conception du projet
Basé sur une réflexion sur toutes les questions ci-dessus, voici un exemple :
Division des points de fonction : module, page, PV/UV/Track, événement
Quels sont les modules pouvant être partagés ? Combien de types d’affichage existe-t-il pour un type de bloc de bois ? Par conséquent, au moins deux typesIds sont nécessaires pour les distinguer.
Les pages et modules sont regroupés par ID.
Données sur les points de sépulture et la combinaison de pages.
Comment gérer le système d'événements. Traitement des opérations sur la page.
Autres....
Mise en œuvre du projet
Considérez quelques questions :
Comment mettre en œuvre le projet par phases ?
Comment itérer sur les versions précédentes ?
Comment vérifier rapidement si nos idées sont correctes ?
Combien de personnes sont disposées à développer et combien de personnes continuent de maintenir ce projet ?
Problèmes de gauche
Ce projet ne peut couvrir que certaines activités, et de nombreuses activités ne sont pas universelles. Les besoins des gens évoluent constamment.
De plus en plus de modules doivent être entretenus, et la maintenance est très difficile.
Autres...
Résumé
Je donne ici juste un exemple simple sur la façon de résoudre ce problème de projet. J'espère qu'il existe d'autres solutions. Tout le monde est invité à se plaindre...