文:泉脈 淘系技術(shù)
DDD指的是Domain-Driven Design 即領(lǐng)域驅(qū)動(dòng)設(shè)計(jì),DDD并不是關(guān)于技術(shù)的,而是關(guān)于討論,聆聽,理解和發(fā)現(xiàn)業(yè)務(wù)價(jià)值。DDD讓我們的關(guān)注點(diǎn)向軟件系統(tǒng)所提供的業(yè)務(wù)價(jià)值方向思考。 DDD最大的好處是:接觸到需求第一步就是考慮領(lǐng)域模型,DDD讓你首先考慮的是業(yè)務(wù)語言,而不是數(shù)據(jù)和行為。
我通過逛逛的內(nèi)容營銷項(xiàng)目來介紹一下DDD在逛逛內(nèi)容營銷中的應(yīng)用。
逛逛營銷業(yè)務(wù)背景
在做逛逛內(nèi)容營銷的這半年的里前端做了很多的營銷活動(dòng),如下圖
我們做了各種大大小小的營銷活動(dòng)后,覺得內(nèi)容營銷活動(dòng)可以剝離出一套通用的解決方案,它們看起來總是大同小異,首先想到的就是搭建。把每一個(gè)業(yè)務(wù)模塊開發(fā)成組件,然后開放給運(yùn)營自由組合。然而這樣有一個(gè)弊端就是:每個(gè)營銷需求來了之后我們都需要評(píng)估哪些是已有組件,哪些需要新開發(fā)。而且對(duì)運(yùn)營搭建的頁面完全失去控制,對(duì)性能體驗(yàn)之類的也無從談起–因?yàn)槟阃耆恢肋\(yùn)營會(huì)搭建出哪些神奇的布局頁面……
業(yè)務(wù)分析
?從運(yùn)營的角度看
從業(yè)務(wù)方的角度思考營銷活動(dòng),每次的營銷都有一定的目的:
- 有的是某類視頻的聚合培養(yǎng)用戶瀏覽種草-ex:商品評(píng)測類
- 有的是為了引導(dǎo)用戶發(fā)布模版視頻-ex:春節(jié)拍同款PK賽-得獎(jiǎng)品
- 有的是為了權(quán)益刺激,完成任務(wù)-ex金晨入駐
?從運(yùn)營的角度看不同角色的視角
不同角色對(duì)營銷活動(dòng)的視角是不一樣的
- 業(yè)務(wù)形態(tài)上劃分有
- 內(nèi)容瀏覽型,–為了給用戶種草
- 任務(wù)打榜型,–吸引某些流量明星的粉絲
- 權(quán)益抽獎(jiǎng)型。–采用權(quán)益刺激培養(yǎng)用戶某些心智
- UI形態(tài)上劃分有
- 輪播圖+feed流
- 輪播圖+任務(wù)列表
- 輪播圖+權(quán)益+feed流
- 從消費(fèi)者的角度
每個(gè)內(nèi)容營銷都可以理解成一種營銷玩法,每個(gè)玩法都有一個(gè)核心組成,用戶打開這個(gè)活動(dòng)承載頁,就要引導(dǎo)用戶去完成這個(gè)核心玩法。所以瀏覽型的活動(dòng)會(huì)突出海景房;任務(wù)型的會(huì)突出任務(wù);權(quán)益類的會(huì)突出權(quán)益。諸如此類。其他的一些能力比如: banner位,關(guān)注卡,話題分類,拉起發(fā)布器這些都是非核心元素。他們的存在只是為了輔助裝飾整個(gè)營銷玩法。
- 綜上
這樣我們就可以把玩法抽象成模版,每個(gè)模版對(duì)應(yīng)一個(gè)玩法。那么如何劃分玩法模版呢?這里就需要用到DDD的思想,領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)。
從DDD經(jīng)典架構(gòu)的六邊形架構(gòu)得到一些啟示:
六邊形架構(gòu)又稱為端口-適配器,六邊形架構(gòu)將系統(tǒng)分為內(nèi)部(內(nèi)部六邊形)和外部,內(nèi)部代表了應(yīng)用的業(yè)務(wù)邏輯,外部代表應(yīng)用的驅(qū)動(dòng)邏輯、基礎(chǔ)設(shè)施或其他應(yīng)用。
那么我們的營銷活動(dòng)架構(gòu)設(shè)計(jì)可以參照此思想:把一個(gè)營銷活動(dòng)劃分為核心模塊&裝飾性模塊,核心玩法對(duì)應(yīng)了內(nèi)部業(yè)務(wù)邏輯,裝飾性模塊對(duì)應(yīng)了外部驅(qū)動(dòng)邏輯,他們一起組成了一個(gè)營銷活動(dòng)。
建立領(lǐng)域模型
領(lǐng)域驅(qū)動(dòng)設(shè)計(jì),旨在建立合適的領(lǐng)域模型。玩法模版就是我們要定義的領(lǐng)域模型
核心模塊=>玩法模版=>活動(dòng)頁面
我們把海景房(輪播圖)、feed流、任務(wù)列表、權(quán)益抽獎(jiǎng)定義為核心模塊,把banner卡片、關(guān)注卡片、話題卡片、異步發(fā)布等定義為裝飾模塊。核心模塊的排列組合形成核心玩法,核心玩法與N個(gè)裝飾模塊形成一個(gè)營銷活動(dòng),區(qū)別在于:核心模塊是不可重復(fù)的,裝飾性模塊可以隨意重復(fù)。也可以理解為:裝飾性模塊為活動(dòng)玩法本身的能力的表現(xiàn),這些模塊喚起了這個(gè)能力。
整體系統(tǒng)架構(gòu)圖如下:
我們對(duì)這個(gè)架構(gòu)有以下約束:
- 核心模塊運(yùn)營同學(xué)無法刪除or添加,只能隱藏
- 裝飾性模塊只能在核心模塊的樓層上面or下面進(jìn)行無限制的添加
- 新增一個(gè)玩法需要新開發(fā)一個(gè)頁面。一個(gè)玩法對(duì)應(yīng)一個(gè)唯一的頁面地址(分治法)。
至此我們的營銷活動(dòng)整體鏈路如下:
這套解決方案的核心在于:運(yùn)營在開始一個(gè)營銷活動(dòng)的時(shí)候需要明確知道自己的活動(dòng)目的是什么,然后選擇對(duì)應(yīng)的玩法模版(不同的玩法模版解決不同的運(yùn)營訴求),運(yùn)營可以在核心模塊的上下界限隨意組合裝飾模塊,形成自己的活動(dòng)頁面。
把每種玩法固化下來,也可以把相關(guān)的玩法數(shù)據(jù)沉淀下來,好的玩法用的人就越來越多。差的玩法業(yè)務(wù)數(shù)據(jù)不好,用的人就少了。
總結(jié)
有的同學(xué)可能會(huì)覺得這套解決方案的缺點(diǎn)在于玩法的迭代需要依賴前端和產(chǎn)品去溝通確定,然后再進(jìn)行組件的組合開發(fā),不如把組件完全開放給運(yùn)營自由組合方便,不過在我看來這并不是問題,作為業(yè)務(wù)前端我們本來就需要去深入理解每個(gè)業(yè)務(wù)需求,完全的自由預(yù)示著完全的失控,其次我舉例說明一下這套模板化方案的優(yōu)勢(shì):
- 比如我需要在頁面的兩個(gè)元素喚起逛逛內(nèi)容發(fā)布器,這兩個(gè)模塊長的不一樣,那我可能需要引入兩次發(fā)布器的能力,但是在這個(gè)模板化的解決方案中,發(fā)布器的能力已經(jīng)集成,只需要把喚起發(fā)布器作為一個(gè)特殊逇素材坑位處理就行了。
- 在于強(qiáng)控玩法之后我們可以對(duì)頁面的性能做出很多優(yōu)化措施既保證了視覺標(biāo)準(zhǔn)規(guī)范也保證頁面的性能體驗(yàn)。
- 其實(shí)運(yùn)營有時(shí)候并不需要那么多的營銷玩法頁面:參考螞蟻保險(xiǎn)的營銷搭建體系的經(jīng)驗(yàn)
本文經(jīng)授權(quán)發(fā)布,不代表增長黑客立場,如若轉(zhuǎn)載,請(qǐng)注明出處:http://m.gptmaths.com/mcn/taobao/46804.html