javascript - 關於一個專案的設計方案探討
迷茫
迷茫 2017-05-19 10:41:26
0
1
580

最近在弄公司的一個活動頁面可配置的項目,姑且叫cms吧
功能呢就是每次做促銷活動比如雙11的時候運營在管理後台配置相應的模組,最終生成頁面

介面是類似這個樣子的結構

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

目前我的思路是這樣的:
透過簡單的工廠模式定義一個通用介面

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

BannerWithBroadcastTpl和PicDisplayTpl都是定義好的元件,每個元件都有一個create方法來創造元件

用下面的程式碼來最終完成專案的初始化

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

現在想跟各位大神討論下這個方案還有沒有其他的程式碼設計方案,歡迎大家來噴~~

迷茫
迷茫

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

全部回覆(1)
左手右手慢动作

寫在前面
在專案設計之前,先問幾個問題:

  1. 實際開發雙11活動中,什麼問題需要我們解決?這些問題有哪些解決方案?

  2. 利用該系統,能否解決我們實際開發雙11活動中遇到的問題?能解決百分之幾十的問題?

  3. 做該專案的Cost有多大?利用該Cost去解決一定佔比的問題,是否值得?

專案核心

  1. 計畫

  2. 設計

  3. 實作(分期)

  4. 遺留問題

專案計畫
提出問題:
每次雙11活動有多少相同的設計點,可以抽像出來的點有多少? --> 要做一個簡單的模板系統,還是功能點齊全的系統?全自動還是半自動? --> 哪些功能需要實現? --> 資源有哪些,是否足夠? (人力、時間等等)
想清楚了以上問題,給出一個完整的計劃。

專案設計
在上面問題全部想清楚的基礎上,舉個例子說明:

  1. 功能點劃分:模組、頁面、PV/UV/Track、事件

  2. 可以公用的模組有哪些?一種木塊有幾種展示類型?因此至少需要兩個以上的typeId才能區分。

  3. 頁面與模組透過Id組合。

  4. 資料埋點與頁面組合。

  5. 事件系統怎麼處理。頁面上的操作處理。

  6. 其他....

專案實施
考慮幾個問題:

  1. 專案如何分期實現?

  2. 前面幾個版本如何迭代?

  3. 如何快速驗證我們的想法是否正確?

  4. 安排多少人開發,多少人繼續維護這個專案?

遺留問題

  1. 這個計畫只能涵蓋部分活動,還有很多活動不通用,人們的需求總是不斷在改變。

  2. 越來越多的模組需要維護,維護難度也很大。

  3. 其他...

總結
我這裡只是簡單的舉個例子,怎麼去解決這個專案問題,希望有更多的方案。歡迎大家吐槽...

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板