日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

通用詳情頁的打造,你學會了嗎?

來源: 責編: 時間:2024-07-12 17:22:30 215觀看
導讀背景介紹圖片大家都知道,詳情頁承載了站內的核心流量。它的量級到底有多大呢?我們來看一下,日均播放次數數億次,這么大的流量,其重要程度可想而知。在這樣一個頁面,每一個功能都是大量業務的匯總點。作為用戶核心消費場景,詳

背景介紹

w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

圖片圖片w2I28資訊網——每日最新資訊28at.com

大家都知道,詳情頁承載了站內的核心流量。它的量級到底有多大呢?w2I28資訊網——每日最新資訊28at.com

我們來看一下,日均播放次數數億次,這么大的流量,其重要程度可想而知。w2I28資訊網——每日最新資訊28at.com

在這樣一個頁面,每一個功能都是大量業務的匯總點。w2I28資訊網——每日最新資訊28at.com

作為用戶核心消費場景,詳情頁不僅需要承接各種業務的轉化,還要負責展示各業務在播放頁的功能。w2I28資訊網——每日最新資訊28at.com

可以說,播放頁的代碼復雜度屬于客戶端最高的代碼之一,這不僅因為播放頁本身的功能復雜,還因為它需要融合大量外部業務功能。w2I28資訊網——每日最新資訊28at.com

復雜的功能自然會帶來較高的代碼復雜度,而高代碼復雜度往往意味著高代碼維護成本。w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

明確需求

w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

圖片圖片w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

我們來看一下沒有做這個項目之前的狀態。如圖所示,他們分別為三個業務團隊各自維護。頁面間相互獨立。能力無法復用。w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

圖片圖片w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

通過這個項目,我們要將他們融合成了一個頁面。產品的訴求就是將他們融合為一個,來達到多業務形態統一的目標。w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

圖片圖片w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

但是,這三個詳情頁并不像產品想象的那么簡單。w2I28資訊網——每日最新資訊28at.com

每個業務都有自己的特殊形態,如大型活動態、主客態、播單態、PUGV/OGV態等一系列業務形態。w2I28資訊網——每日最新資訊28at.com

每種形態都有自己的特殊邏輯,而且這些業務形態間還可以互相切換。w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

需求分析

w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

為了更好地達成目標,我們需要進行如下思考:w2I28資訊網——每日最新資訊28at.com

  • 從業務角度:

要解決多業務形態不統一的問題。例如,產品既想要UGC大型活動的能力,又想要OGV的多視角功能。w2I28資訊網——每日最新資訊28at.com

但這兩個能力在之前分別是兩個業務團隊各自開發的,無法復用,產品在業務選擇上無法兼得。w2I28資訊網——每日最新資訊28at.com

  • 從效率角度:

要解決迭代方式不統一的問題。例如,進度條體驗優化需求,產品在給UGC團隊提需求的同時,還要復制一份給OGV團隊。w2I28資訊網——每日最新資訊28at.com

兩個業務方的開發和測試都需要進入這個項目,并且雙方的開發進度和排期可能不一致。如果產品強烈要求同一版本上線,還需要協調各方資源。w2I28資訊網——每日最新資訊28at.com

  • 從質量角度:

要解決如何保障穩定性的問題。例如,多團隊協作,之前都是組內同事協作開發,現在融入了兩個新的業務團隊,我們該如何保障穩定性。w2I28資訊網——每日最新資訊28at.com

  • 從團隊角度:

要解決如何讓新人快速上手的問題。正常情況下,新人想要進入開發必須對這個系統足夠了解后才行。w2I28資訊網——每日最新資訊28at.com

更何況現在變成了三個業務融合的頁面。有沒有一種手段,讓新人無需關心復雜的業務形態和業務邏輯,只需要關注自己的需求?w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

具體方案

w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

針對以上問題,我們可以總結出通用詳情頁框架必須滿足以上三點,分別為:復用性,靈活性,穩定性w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

圖片圖片w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

接下來我們繼續對多業務形態進行分析。w2I28資訊網——每日最新資訊28at.com

首先我們從橫向上進行拆解,通過對比,我們可以發現w2I28資訊網——每日最新資訊28at.com

多業務形態間其實有很多的相同模塊。如互動,彈幕發送框,相關推薦等。w2I28資訊網——每日最新資訊28at.com

從縱向上進行拆解,我們也可以發現很多相同模塊,如彈窗管理器,主題組件,轉場組件等。w2I28資訊網——每日最新資訊28at.com

那么從橫向和縱向上我們發現,多種業務形態間其實有很多可以復用的能力。w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

圖片圖片w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

基于前面的思考,我們設計了一套通用詳情頁的框架。將其分為三層:w2I28資訊網——每日最新資訊28at.com

  1. 業務層:將業務模塊分為兩類,能夠在多業務間復用的模塊抽象到通用業務,業務獨有模塊則由各業務自行負責。
  2. 組件層:抽象出各種通用組件,業務方可自由選取和組裝。
  3. 框架層:抽象生命周期管理、數據管理等核心邏輯,以此來保證整個詳情頁的穩定性。

這樣我們就初步解決了復用性的問題,但是隨之而來的就是靈活性問題。w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

圖片圖片w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

我們以實際場景為例,相關推薦模塊在課堂態不展示,但是在ugc和ogv下需要展示,另外他的點擊事件在ugc和ogv下還會出現差異。w2I28資訊網——每日最新資訊28at.com

同時相關推薦模塊還強依賴簡介模塊。因為簡介模塊也是一個通用組件,業務方可以自由替換。w2I28資訊網——每日最新資訊28at.com

如果哪天業務方替換了了簡介模塊,那相關推薦模塊將無法正常運行。w2I28資訊網——每日最新資訊28at.com

從相關推薦這個例子我們可以得出如果想讓業務模塊復用,必須滿足兩個條件。w2I28資訊網——每日最新資訊28at.com

  1. 支持業務異化,即允許業務能插入自定義邏輯,否則現在抽象的通用模塊在迭代的過程一定會變成非通用,或者里面摻雜各種if else邏輯來支持異化。
  2. 必須保證模塊間相互獨立,因為所有業務邏輯在此框架下都變成了模塊,模塊是可以由業務方自由選擇的。

w2I28資訊網——每日最新資訊28at.com

圖片圖片w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

引入依賴注入

w2I28資訊網——每日最新資訊28at.com

因此,我們需要在流程和模塊中加入依賴注入的能力,用于業務方實現差異化邏輯。w2I28資訊網——每日最新資訊28at.com

業務方可自行插入自己的業務邏輯,并選擇或替換業務模塊。來解決模塊間的耦合。w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

定義依賴注入容器w2I28資訊網——每日最新資訊28at.com

public class BlocStore {    typealias StoreLock = RecursiveLock    typealias StoreTable = [String: BlocTable]     private let lock: StoreLock = StoreLock()    private lazy var storeTable: StoreTable = [:]} extension BlocStore {    public func register<Service>(service: Service.Type = Service.self, to: Bloc.Type) {        let key = "/(service)"        lock.lock()        defer { lock.unlock() }        serviceTable[key] = to    }     @discardableResult    public func optional<Service>(service: Service.Type = Service.self) -> Service? {        let key = "/(service)"        lock.lock()        defer { lock.unlock() }        let service = resolve(bloc)        return s    }} // Bind and unbindextension BlocStore {    public func bindBloc(bloc: Bloc) {     }     public func unbindBloc<T: Bloc>(_ blocType: T.Type) {     }} // BlocLifeCycleextension BlocStore {    func onStart(bloc: Bloc?) {        bloc?.onStart()    }     func onPause(bloc: Bloc?) {        bloc?.onPause()    }     func onResume(bloc: Bloc?) {        bloc?.onResume()    }     func onStop(bloc: Bloc?) {        bloc?.onStop()    }}

w2I28資訊網——每日最新資訊28at.com

組件注冊w2I28資訊網——每日最新資訊28at.com

// 業務方根據業務邏輯可以注入不同的實現register(service: XXXProtocol.self, to: ABloc.self) // A業務形態register(service: XXXProtocol.self, to: BBloc.self) // B業務形態

w2I28資訊網——每日最新資訊28at.com

組件解析w2I28資訊網——每日最新資訊28at.com

let s: XXXProtocol = store.optional()

w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

引入scope

w2I28資訊網——每日最新資訊28at.com

scope分為頁面級和業務級兩種scope:w2I28資訊網——每日最新資訊28at.com

class VDScope {    public static let core = "store.core.scope"    public static let biz = "store.biz.scope"}

w2I28資訊網——每日最新資訊28at.com

定義 Scope 管理來管理模塊的生命周期:w2I28資訊網——每日最新資訊28at.com

  • Page scope的生命周期與頁面保持一致,Biz scope與業務形態的生命周期保持一致。
  • 即在頁面形態發生變化時,框架層會自動將bizscope下的所有模塊進行銷毀。
public class BlocStore {    typealias ScopeTable = [String: String]    ...     func bizTypeDidChanged() {        // 銷毀上一個bizscope下所有模塊        xxxx        // 初始化新bizscope下模塊        xxx    }}

w2I28資訊網——每日最新資訊28at.com

這樣,新人進入開發時無需關注當前業務形態或業務形態切換的問題,達到快速上手的目的。w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

如何保障吞吐速度和質量穩定?

w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

在開發資源和測試資源不變的情況下,業務范圍擴大了,我們該如何保障吞吐速度和質量的穩定呢?w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

圖片圖片w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

我們可以將策略分為三個階段:w2I28資訊網——每日最新資訊28at.com

1.開發階段:

對于核心流程添加全鏈路日志,如果發現不符合預期的數據則直接拋出異常。w2I28資訊網——每日最新資訊28at.com

同時進行技術埋點上報。如果是對于核心流程的修改,強制添加AB降級方案。w2I28資訊網——每日最新資訊28at.com

2.測試階段:

有些bug非常隱蔽,在用戶體驗上可能沒有任何差異,但內部流程或數據可能已經發生異常。w2I28資訊網——每日最新資訊28at.com

對于類似問題,測試根本無法發現。導致此類問題流入線上的風險。我們可以通過添加監控和告警,讓我們及時發現問題。w2I28資訊網——每日最新資訊28at.com

3.灰度/線上階段:

我們可以通過添加監控和告警,讓我們及時發現問題。w2I28資訊網——每日最新資訊28at.com

具體實施方案:w2I28資訊網——每日最新資訊28at.com

首先,我們對通用詳情頁里核心流程添加了全鏈路日志,并為日志服務添加了兩項額外能力:w2I28資訊網——每日最新資訊28at.com

如果發現日志類型為Error,內部自動觸發DEBUG彈窗提醒,并上報技術埋點,達到對線上穩定性的監控。w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

圖片圖片w2I28資訊網——每日最新資訊28at.com

w2I28資訊網——每日最新資訊28at.com

同時,搭建離在線數據報表和異常告警,進一步保障穩定性。w2I28資訊網——每日最新資訊28at.com

至此,搭建了通用詳情頁從發現問題到定向拉取再到快速定位的閉環。w2I28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-100716-0.html通用詳情頁的打造,你學會了嗎?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 使用 Docker 搭建 NodeJS 開發環境是一種什么體驗?

下一篇: 一文搞懂 @Async 注解原理

標簽:
  • 熱門焦點
  • 一加Ace2 Pro真機揭曉 鈦空灰配色質感拉滿

    終于,在經過了幾波預熱之后,一加Ace2 Pro的外觀真機圖在網上出現了。還是博主數碼閑聊站曝光的,這次的外觀設計還是延續了一加11的方案,只是細節上有了調整,例如新加入了鈦空灰
  • 石頭自清潔掃拖機器人G10S評測:多年黑科技集大成之作 懶人終極福音

    科技圈經常能看到一個詞叫“縫合怪”,用來形容那些把好多功能或者外觀結合在一起的產品,通常這樣的詞是貶義詞,但如果真的是產品縫合的好、縫合的實用的話,那它就成了中性詞,今
  • 2023年Q2用戶偏好榜:12+256G版本成新主流

    3月份的性能榜、性價比榜和好評榜之后,就要輪到2023年的第二季度偏好榜了,上半年的新機潮已經過去,最明顯的肯定就是大內存和存儲的機型了,另外部分中端機也取消了屏幕塑料支架
  • 三萬字盤點 Spring 九大核心基礎功能

    大家好,我是三友~~今天來跟大家聊一聊Spring的9大核心基礎功能。話不多說,先上目錄:圖片友情提示,本文過長,建議收藏,嘿嘿嘿!一、資源管理資源管理是Spring的一個核心的基礎功能,不
  • 自律,給不了Keep自由!

    來源 | 互聯網品牌官作者 | 李大為編排 | 又耳 審核 | 谷曉輝自律能不能給用戶自由暫時不好說,但大概率不能給Keep自由。近日,全球最大的在線健身平臺Keep正式登陸港交所,努力
  • 一條抖音4億人圍觀 ! 這家MCN比無憂傳媒還野

    作者:Hiu 來源:互聯網品牌官01 擦邊少女空降熱搜,幕后推手曝光被網友譽為&ldquo;純欲天花板&rdquo;的女網紅井川里予,近期因為一組哥特風照片登上熱搜,引發了一場互聯網世界關于
  • 超級標準版旗艦!iQOO 11S全球首發iQOO超算獨顯芯片

    上半年已接近尾聲,截至目前各大品牌旗下的頂級旗艦都已悉數亮相,而下半年即將推出的頂級旗艦已經成為了數碼圈爆料的主流,其中就包括全新的iQOO 11S系
  • 英特爾Xe HPG游戲顯卡:擁有512EU,單風扇版本

    據10 月 30 日外媒 TheVerge 消息報道,英特爾 Xe HPG Arc Alchemist 的正面實被曝光,不僅擁有 512 EU 版顯卡,還擁有 128EU 的單風扇版本。另外,這款顯卡 PCB
  • 蘋果MacBook Pro 2021測試:仍不支持平滑滾動

    據10月30日9to5 Mac 消息報道,蘋果新的 14 英寸和 16 英寸 MacBook Pro 2021 上市后獲得了不錯的評價,亮點包括行業領先的性能,令人印象深刻的電池續航,精美豐
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
中文日韩欧美| 国产视频精品xxxx| 久久欧美中文字幕| 亚洲黄色免费| 99riav国产精品| 亚洲综合精品一区二区| 午夜精品久久久久久久99樱桃| 在线成人小视频| 99热精品在线| 欧美一级理论片| 久久一区亚洲| 欧美日韩免费| 国产色婷婷国产综合在线理论片a| 国产亚洲欧美一区二区| 亚洲国产日韩欧美在线99| 一本色道久久加勒比88综合| 欧美淫片网站| 欧美伦理视频网站| 国产精品一区二区在线观看| 国模私拍一区二区三区| 日韩视频免费观看高清在线视频| 亚洲一区二区三区在线观看视频 | 国内精品久久久久久久果冻传媒 | 国产日韩久久| 亚洲精品国产精品乱码不99| 亚洲欧美电影院| 米奇777超碰欧美日韩亚洲| 国产精品成人v| 亚洲国产精品悠悠久久琪琪| 午夜激情综合网| 在线精品视频一区二区| 一区二区三区精密机械公司| 久久狠狠婷婷| 国产精品jvid在线观看蜜臀| 亚洲二区在线| 久久不见久久见免费视频1| 欧美激情按摩在线| 国产一区在线播放| 亚洲一区视频| 欧美精品色网| 亚洲国产成人精品久久| 欧美一区二区三区在| 欧美日韩二区三区| 亚洲第一主播视频| 久久九九热免费视频| 国产精品美女999| 亚洲另类一区二区| 欧美va亚洲va国产综合| 国产一区二区三区日韩| 亚洲欧美激情在线视频| 欧美日韩国产丝袜另类| 亚洲黄色三级| 久久在线播放| 国产综合色精品一区二区三区| 日韩写真视频在线观看| 欧美不卡视频一区| 激情丁香综合| 久久精品一区二区国产| 国产精品自在在线| 亚洲天堂黄色| 欧美日韩在线免费视频| 亚洲精品一二三| 欧美不卡一区| 亚洲国产日韩欧美综合久久 | 亚洲欧美在线播放| 国产精品久久久久高潮| 艳女tv在线观看国产一区| 欧美jizz19hd性欧美| 亚洲福利小视频| 麻豆成人91精品二区三区| 激情亚洲网站| 久久青草久久| 在线成人av.com| 久久一区激情| 亚洲国产成人av| 免费亚洲视频| 最新国产成人av网站网址麻豆| 久久婷婷影院| 在线精品国精品国产尤物884a| 欧美在线观看你懂的| 国产精品网站在线观看| 亚洲欧美国产高清va在线播| 国产精品久久久久aaaa| 亚洲一区二区三区成人在线视频精品 | 亚洲欧美国产另类| 欧美色精品在线视频| 中日韩男男gay无套| 欧美视频在线一区二区三区| 亚洲理论在线观看| 欧美色图麻豆| 亚洲男女毛片无遮挡| 国产精品一区二区欧美| 欧美一级二区| 狠狠色综合网站久久久久久久| 午夜精品成人在线| 国产亚洲欧美一区二区| 久久婷婷国产综合国色天香| 在线欧美视频| 欧美激情一区二区三区成人| 99视频+国产日韩欧美| 欧美三区在线视频| 午夜精品久久| 在线观看日韩国产| 欧美久久一级| 亚洲欧美成人一区二区在线电影 | 一区二区三区成人精品| 国产精品igao视频网网址不卡日韩| 亚洲精品免费在线播放| 欧美少妇一区二区| 小辣椒精品导航| 一区二区三区在线不卡| 在线成人免费视频| 欧美久久久久久久| 亚洲伊人伊色伊影伊综合网| 国产精品视频第一区| 欧美在线播放视频| 在线看视频不卡| 欧美日韩精品免费看| 午夜激情综合网| 亚洲国产经典视频| 欧美日韩亚洲综合一区| 性欧美1819sex性高清| **欧美日韩vr在线| 欧美无乱码久久久免费午夜一区| 亚洲男人av电影| 一区二区在线视频播放| 欧美极品欧美精品欧美视频| 亚洲欧美在线一区二区| 在线观看av不卡| 欧美午夜电影在线观看| 久久精品视频一| 99精品免费网| 国产日韩精品一区二区浪潮av| 久久综合精品国产一区二区三区| 亚洲精品视频在线播放| 国产免费亚洲高清| 欧美成人久久| 香蕉久久久久久久av网站| 亚洲国产精品久久久久秋霞蜜臀| 欧美激情视频免费观看| 亚洲欧美日本日韩| 亚洲国产精品毛片| 国产精品视频在线观看| 欧美电影免费观看大全| 午夜欧美精品| 日韩午夜激情| 激情视频一区二区| 欧美性事免费在线观看| 久久天堂国产精品| 亚洲资源在线观看| 亚洲日本中文字幕免费在线不卡| 国产精品青草久久久久福利99| 久久成人精品无人区| 99在线观看免费视频精品观看| 国产日韩在线视频| 欧美日韩亚洲一区二区三区在线观看 | 欧美日韩精品一区| 久久国产精品久久久久久| 亚洲免费播放| 激情六月婷婷久久| 国产精品视频男人的天堂| 欧美激情一区在线观看| 久久久久久久久久久久久女国产乱| 日韩亚洲视频| 在线视频国内自拍亚洲视频| 国产精品午夜av在线| 欧美区一区二| 奶水喷射视频一区| 久久久国产精品一区| 亚洲综合视频一区| 99精品欧美一区二区蜜桃免费| 好吊妞这里只有精品| 国产精品视频免费观看| 欧美日韩精品综合| 欧美国产日韩视频| 久久在线视频在线| 久久精品国产99| 午夜精品久久| 亚洲在线视频一区| 亚洲视频中文| 亚洲视频狠狠| 一本一本久久a久久精品综合妖精| 影音先锋另类| 黄色一区二区三区| 国产一区二区三区高清播放| 国产精品日韩专区| 国产精品第一区| 国产精品分类| 国产精品福利在线观看| 欧美日韩另类一区| 欧美乱大交xxxxx| 欧美精品久久天天躁| 欧美国产日韩二区| 欧美大片在线观看一区二区| 免费在线播放第一区高清av| 久久婷婷亚洲| 久久综合狠狠| 乱人伦精品视频在线观看| 久久综合国产精品台湾中文娱乐网 | 国产毛片久久| 国产精品日韩一区| 国产精品日日摸夜夜摸av| 国产精品九色蝌蚪自拍| 欧美色区777第一页|