javascript - Discussion sur le plan de conception d'un projet
迷茫
迷茫 2017-05-19 10:41:26
0
1
560

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~~

.
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

répondre à tous(1)
左手右手慢动作

Écrivez-le devant
Avant la conception du projet, posons quelques questions :

  1. 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 ?

  2. 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 ?

  3. 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

  1. Plan

  2. Conception

  3. Mise en œuvre (phasée)

  4. 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 :

  1. Division des points de fonction : module, page, PV/UV/Track, événement

  2. 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.

  3. Les pages et modules sont regroupés par ID.

  4. Données sur les points de sépulture et la combinaison de pages.

  5. Comment gérer le système d'événements. Traitement des opérations sur la page.

  6. Autres....

Mise en œuvre du projet
Considérez quelques questions :

  1. Comment mettre en œuvre le projet par phases ?

  2. Comment itérer sur les versions précédentes ?

  3. Comment vérifier rapidement si nos idées sont correctes ?

  4. Combien de personnes sont disposées à développer et combien de personnes continuent de maintenir ce projet ?

Problèmes de gauche

  1. Ce projet ne peut couvrir que certaines activités, et de nombreuses activités ne sont pas universelles. Les besoins des gens évoluent constamment.

  2. De plus en plus de modules doivent être entretenus, et la maintenance est très difficile.

  3. 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...

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!