首頁  >  問答  >  主體

javascript - 關於一個專案的設計方案探討

最近在弄公司的一個活動頁面可配置的項目,姑且叫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)
}

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

迷茫迷茫2681 天前528

全部回覆(1)我來回復

  • ringa_lee

    ringa_lee2017-05-19 10:43:26

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

    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. 其他...

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

    回覆
    0
  • 取消回覆