Rumah  >  Soal Jawab  >  teks badan

javascript - Perbincangan mengenai rancangan reka bentuk projek

Baru-baru ini saya sedang mengusahakan projek yang boleh dikonfigurasikan untuk halaman acara syarikat, sebut saja cms
Fungsinya adalah untuk mengkonfigurasi modul yang sepadan dalam bahagian belakang pengurusan setiap kali terdapat acara promosi seperti Double 11, dan akhirnya menjana halaman tersebut

Antaramuka mempunyai struktur yang serupa dengan ini

{
    list:[
        {
            type: 1,  //这个模块的type,比如1对应商品组合模块
            cmsId: 1, //这个模块的唯一id
            data: {
                //具体的这个模块的数据
            }
        }
    ],
    code: 200,
    msg: ''
}    

Pemikiran semasa saya ialah:
Tentukan antara muka biasa melalui corak kilang yang ringkas

var factoryInterface = function(type,data){
    switch(type){
        case 1:
            return new BannerWithBroadcastTpl(data)
            break;
        case 2:
            return new PicDisplayTpl(data)
            break;
    }
}   

BannerWithBroadcastTpl dan PicDisplayTpl kedua-duanya adalah komponen yang ditakrifkan Setiap komponen mempunyai kaedah ciptaan untuk mencipta komponen

Gunakan kod berikut untuk melengkapkan permulaan projek

for(var i=0,length=data.length;i<length;i++){
    !(function(i){
        factoryInterface(data[i].type,data[i]).create(_this.root)
    })(i)
}

Sekarang saya ingin berbincang dengan tuan-tuan sama ada terdapat rancangan reka bentuk kod lain untuk pelan ini. Semua orang dialu-alukan untuk memberi komen~~

迷茫迷茫2680 hari yang lalu527

membalas semua(1)saya akan balas

  • ringa_lee

    ringa_lee2017-05-19 10:43:26

    Tulis di hadapan
    Sebelum reka bentuk projek, mari tanya beberapa soalan:

    1. Apakah masalah yang perlu kita selesaikan dalam pembangunan sebenar aktiviti Double 11? Apakah penyelesaian kepada masalah ini?

    2. Bolehkah kita menggunakan sistem ini untuk menyelesaikan masalah yang kita hadapi dalam pembangunan sebenar aktiviti Double 11? Bolehkah ia menyelesaikan berpuluh-puluh peratus masalah?

    3. Berapa kos untuk membuat projek ini? Adakah berbaloi untuk menggunakan Kos ini untuk menyelesaikan bahagian tertentu masalah?

    Teras Projek

    1. Rancang

    2. Design

    3. Pelaksanaan (berperingkat)

    4. Isu kiri

    Rancangan Projek
    Tanyakan soalan:
    Berapa banyak mata reka bentuk yang sama terdapat dalam setiap acara Double 11, dan berapa banyak mata yang boleh diabstrak? --> Adakah anda mahu menjadi sistem templat yang mudah, atau sistem dengan fungsi yang lengkap? Automatik sepenuhnya atau separa automatik? --> Apakah fungsi yang perlu dilaksanakan? --> Apakah sumber yang ada dan adakah ia mencukupi? (tenaga kerja, masa, dll.)
    Fikirkan dengan jelas tentang isu-isu di atas dan berikan rancangan yang lengkap.

    Reka Bentuk Projek
    Berdasarkan pemikiran melalui semua isu di atas, berikut adalah contoh:

    1. Bahagian titik fungsi: modul, halaman, PV/UV/Track, acara

    2. Apakah modul yang boleh dikongsikan? Berapakah jenis paparan yang ada untuk jenis bongkah kayu? Oleh itu, sekurang-kurangnya dua typeId diperlukan untuk membezakannya.

    3. Halaman dan modul digabungkan dengan ID.

    4. Titik pengebumian data dan kombinasi halaman.

    5. Cara mengendalikan sistem acara. Pemprosesan operasi pada halaman.

    6. Lain-lain....

    Pelaksanaan projek
    Pertimbangkan beberapa soalan:

    1. Bagaimana untuk melaksanakan projek secara berperingkat?

    2. Bagaimana untuk beralih pada versi sebelumnya?

    3. Bagaimana untuk mengesahkan dengan cepat sama ada idea kita betul?

    4. Berapa orang yang diatur untuk membangun dan berapa ramai orang yang terus mengekalkan projek ini?

    Isu kiri

    1. Projek ini hanya boleh meliputi beberapa aktiviti, dan banyak aktiviti yang tidak universal Keperluan rakyat sentiasa berubah.

    2. Semakin banyak modul perlu diselenggara, dan penyelenggaraan sangat sukar.

    3. Lain-lain...

    Ringkasan
    Saya hanya memberi contoh mudah di sini tentang cara menyelesaikan masalah projek ini. Saya harap ada lebih banyak penyelesaian. Semua orang boleh mengadu...

    balas
    0
  • Batalbalas