tag 軟件設計

標籤
貢獻32
277
12:25 PM · Nov 05 ,2025

@軟件設計 / 博客 RSS 訂閱

五嶽 - DTS按業務場景批量遷移阿里雲MySQL表實戰(下):遷移管理平台設計與實現

本文是 DTS按業務場景批量遷移阿里雲MySQL表實戰(上):技術選型和API對接 的後續,應用狀態模式,完成業務系統中的遷移模塊。DTS的對接方式可參考前文。 遷移管理平台設計與實現 完成DTS API對接後,就需要考慮如何將DTS和業務系統有機結合實現整套的遷移流程。 出於信息安全角度的考慮,本文刪除了大量涉及實際業務的實現代碼。 業務約束 從業務出發,最好的體驗肯定是用户無感的,即遷移完成後

軟件設計

收藏 評論

雪雁 - CodeSpirit-考試預生成方案(開源)

1. 概述 1.1 背景 在考試系統中,當大量學生同時開始考試時,系統需要為每個學生創建考試記錄(ExamRecord)和答題記錄(ExamAnswerRecord)。傳統的"按需創建"模式在高併發場景下存在以下問題: 性能瓶頸:每次開始考試都需要執行數據庫寫入操作,響應時間在 200-500ms 併發壓力:1000+ 學生同時開考時,數據庫壓力激增,可能導致超時或失敗

軟件設計

收藏 評論

京東雲開發者 - 架構師日記-深入理解軟件設計模式 | 京東雲技術團隊

作者:京東零售 劉慧卿 一 設計模式與編程語言 1.1 什麼是設計模式 設計模式(Design pattern) :由軟件開發人員在軟件開發中面臨常見問題的解決方案,是經過長時間的試驗積累總結出來的,它使設計更加靈活和優雅,複用性更好。從實用的角度來看,它代表了某一類問題的最佳實踐。 設計模式到底解決了開發過程中的哪些難題呢,它又是如何來解決的呢? 其核心是:複用和解耦。使不穩定依賴於穩定、具體依

軟件設計 , 編程語言 , 編程範式 , 架構模式 , 架構師

收藏 評論

Visional S. XIA - 《數字經濟》

今天,為大家推薦一篇《數字經濟:產業集羣發展 白皮書》的報告。 報告 共 71 頁。 從 “數字經濟概念、特徵、典型產業集羣案例、要素、策略、產業展望” 等六個方面,詳細解讀了《2023 數字經濟產業》。 很重磅。 #01# 【關鍵要點】 一、數字經濟定義 《數據資產》作為關鍵生產要素,以 “現代信息網絡作為重要載體 和 信息通信技術的有效使用”來作為 “效率提升 和 經濟結

軟件設計

收藏 評論

poemyang - 流量洪峯衝不垮的秘密:揭秘系統過載保護的核心防線

系統流量如潮汐般漲落,瞬時的洪峯可能將最堅固的系統沖垮。如何確保核心服務在極限壓力下依然穩如磐石?答案在於構建一套分層協同、動態彈性的過載保護機制。這並非單一技術的堆砌,而是一門融匯了預判、隔離、調度與自愈的系統工程藝術。 本文將深入剖析這套多層防護體系的構建之道:從最外層的流量調度(負載均衡),到精細化的請求管控(限流),再到保障核心業務的“丟車保帥”策略(降級與熔斷),最終邁向智能化的自

軟件設計

收藏 評論

poemyang - 化整為零、分而治之、異步編排:一文讀懂現代併發的底層心法

LongAdder:化整為零,熱點分散 在Java多線程編程中,‌原子變量(如AtomicLong)‌通過CAS操作實現線程安全的累加。然而,在高併發場景下,大量線程爭搶同一原子變量會引發嚴重的‌緩存一致性問題‌。 ‌ 1)緩存行偽共享‌:多個線程頻繁更新同一緩存行,導致緩存失效和MESI協議頻繁觸發,處理器性能急劇下降。 ‌ 2)CAS衝突開銷‌:CAS操作需自旋重試,線程競爭

軟件設計

收藏 評論

vivotech - vivo互聯網全鏈路多版本環境落地實踐

作者:互聯網效能平台團隊-Wu Qinghua 在軟件研發過程中,“環境問題”是制約研發效能的關鍵瓶頸之一。環境不穩定、測試環境混亂、環境搶佔嚴重等問題,顯著影響開發與測試效率。本文系統介紹vivo通過“全鏈路多版本環境管理”模式,實現開發測試環境的快速構建與高效管理,使多版本環境能夠像“平行宇宙”一般,實現安全、隔離、高效的並行測試與發佈。 本文為2025年 vivo 開發者大會互聯

軟件設計

收藏 評論

JeffWong - PowerDotNet平台化軟件架構設計與實現系列(18):商品管理平台

商品系統是電子商務的核心繫統之一,是各種電商業務展開的基礎和起點,沒有調查就沒有發言權,個人也深度參與設計開發和維護過商品系統,本文簡單分享下PowerDotNet重寫過的商品平台系統。 十多年前我剛入行,首次接觸電商業務系統開發,開發重點集中在財務、庫管、訂單等這些需要後台強力支持的系統,反而對商品有個刻板印象,就是覺得商品系統簡單,字典型應用而已,難度不大。 隨着開發和填坑經驗的累積以及業務知

軟件設計

收藏 評論

碼客-ygluu - 【圖解】AIGC時代的遊戲抽象設計:萬物皆ID、萬事皆事件、萬人皆數據

一、前言 在AIGC時代,我們總想AI能幫我們開發遊戲,但是讓AI編寫遊戲代碼還是很難達到預期,尤其是大數值體系的遊戲。 本文用圖示的方式介紹遊戲的抽象設計,可能有些思路讓你耳目一新。在代碼和AI之間根據遊戲特徵做進一步規範化的業務抽象會不會提高AI的成品率? 二、抽象 抽象有高低之分,越接近個性的抽象適應性越弱。 圖1 兩個抽象高度的框架 圖

軟件設計

收藏 評論

CodeMagicianT - 2.面向對象設計原則

2.面向對象設計原則 ​ 對於面向對象軟件系統的設計而言,在支持可維護性的同時,提高系統的可複用性是一個至關重要的問題,如何同時提高一個軟件系統的可維護性和可複用性是面向對象設計需要解決的核心問題之一。在面向對象設計中,可維護性的複用是以設計原則為基礎的。每一個原則都藴含一些面向對象設計的思想,可以從不同的角度提升一個軟件結構的設計水平。 ​ 面向對象設計原則為支持可維護性複用而誕生,這些原則藴含

軟件設計

收藏 評論

摘下滿天星 - Web開發技術架構圖

Web開發技術架構圖 大型web系統架構動態應用,是相對於網站靜態內容而言,是指以c/c++、php、Java、perl、.net等服務器端語言開發的網絡應用軟件,比如論壇、網絡相冊。1、學習Web開發原理,包括MVC/MTV等Web框架; 2、學習Django Web框架,從技術原理到項目實踐; 3、學習Djan... 軟件開發週期 軟件生命週期(Software Life Cycle,SLC

軟件設計 , 流程圖 , web開發 , 架構設計 , 程序設計

收藏 評論

Carey_ccl - 設計模式的前言——Solid設計原則

  Solid原則是為針對面向對象的程序語言設計,從本質上來講,SOLID是5個原則的縮寫,這5個原則有助於軟件設計:更加容易理解,更靈活,可維護性更強。這個與掌握軟件設計原理無關,這個原理是很多原則的子集。 單一職責原則(Single responsibility principle) 開閉原則(open-closed principle) 里氏替換原則(liskov substitut

軟件設計

收藏 評論

二月無雨 - 記SpringBoot升級Tomcat引發的兩類典型問題及解決方案

記SpringBoot升級Tomcat引發的兩類典型問題及解決方案 在SpringBoot項目維護過程中,版本升級是常見操作,但往往會引發一些兼容性問題。本文記錄了將SpringBoot內置Tomcat從8.5.51升級到9.0.75後遇到的兩個典型問題:URL包含雙斜槓//導致404、DELETE請求報HttpRequestMethodNotSupportedException,並給出對應的解決

軟件設計

收藏 評論

poemyang - 守護“真相之源”:深入理解數據庫的預寫日誌(WAL)與檢查點技術

如果説緩存和消息中間件處理的是流量的“流動”問題,那麼數據庫系統要解決的,則是數據的“存在”問題——即數據的最終正確性與持久性。它是整個系統的“真相之源”(Source of Truth)。 日誌技術 在考慮數據庫系統的持久性時,關鍵的考慮因素是如何在數據庫中實現數據的持久化。例如,在關係型數據庫中,數據被存儲在表中,而這些表是通過在文件系統或塊系統中的數據結構來實現的。如何保存和維護這些文

軟件設計

收藏 評論

一杯半盞 - 【架構師角度】詳細解析 OpenStack4j 中 PropagateOnStatus 的異常處理機制

異常處理機制架構分析 Openstack4j 提供了一套可插拔的 HttpExecutor 框架,支持 Apache HttpClient、Resteasy等,根據分析默認使用 Apache Httpclient。 目前尚不清楚為什麼要提供這個HTTP框架統一層,看起來有些多餘。 但是在吸收這個庫的時候發現,它有着目前為止我個人見過的最優秀的HTTP狀態碼錯誤處理機制。 這個機制可以精確到每個A

軟件設計

收藏 評論

Carey_ccl - 一、單例模式

一、模式定義: 保證一個類只有一個實例,並且提供一個全局訪問點 二、使用場景: 重量級對象,不需要多個實例,如:線程池,數據庫連接池 三、類圖: 四、不同方式創建的單例設計與區別 4.1、懶漢單例模式   懶漢單例模式的特點是延遲加載,只有在真正使用的時候,才開始實例化,用該方式創建單例對象時,對於線程安全問題和指令重排序導致的初始化並且引用賦值失敗的問題,可以用以下2種方式來解決:

軟件設計

收藏 評論

老肖想當外語大佬 - 圖窮匕見-所有反DDD模式都是垃圾

本文書接上回《主觀與客觀,破除DDD憑經驗魔咒》,關注公眾號(老肖想當外語大佬)獲取信息: 最新文章更新; DDD框架源碼(.NET、Java雙平台); 加羣暢聊,建模分析、技術實現交流; 視頻和直播在B站。 開個玩笑 “我不是針對這一個問題,我是説所有的反DDD模式都是垃圾”,作為教練,在團隊中我時常用這樣的玩笑來調侃不符合DDD價值觀的判斷邏輯和決策結果,並指出具體不符合的點在哪裏

軟件設計 , c# , JAVA , ddd , 後端

收藏 評論

Lycoris_Go - NCHU_單部電梯調度程序設計分析_23207332

一、前言 三次電梯調度程序設計圍繞單一職責原則(SRP)和迭代式開發展開,逐步優化類結構和功能實現: 知識點覆蓋: 面向對象設計(類、枚舉、接口) 集合框架(Queue、List、Map) 正則表達式(輸入解析) 狀態機管理(電梯運行狀態、方向) 調度算法(請求優先級、路徑規劃) 難度遞進: 題目一:基礎實現,單類包辦所有邏輯

軟件設計

收藏 評論

老肖想當外語大佬 - DDD是軟件工程的第一性原理?

本文書接上回《DDD建模後寫代碼的正確姿勢》,關注公眾號(老肖想當外語大佬)獲取信息: 最新文章更新; DDD框架源碼(.NET、Java雙平台); 加羣暢聊,建模分析、技術實現交流; 視頻和直播在B站。 前提 本文需要以系列前文的邏輯鏈條和結論為前提,如果沒有閲讀過前文的,可以閲讀合集《老肖的領域驅動設計之路》。 故事背景 在2020年,我所在的研發團隊維護着一個有近十年曆史的Saa

軟件設計 , c# , JAVA , ddd , 後端

收藏 評論

大模型玩家七七 - 向量數據庫實戰:從“看起來能用”到“真的能用”,中間隔着一堆坑

大多數向量數據庫項目,不是“失敗”,而是“半死不活” 如果你問一個已經上線向量數據庫的團隊: “你們的向量檢索效果怎麼樣?” 得到的回答往往是: “還行吧,有時候挺準” “大部分時候能用,但偶爾很怪” “不好説,反正模型有時候答得不對” 這類系統,通常不是完全不能用, 但也很少讓人真正放心。 原因並不在於向量數據庫“不成熟”, 而在於:從建庫到穩定可用,中間有一整段工程

軟件設計

收藏 評論

hzjj - 面向對象程序設計-前3次作業總結

題目集1-3的總結 前言: 前三次作業用到了以下知識點: 1.類的創建與設計 2.類的方法實現 3.面向對象編程基礎思想 4.類的單一職責原則應用 5.正則表達式的使用 6.隊列管理LinkedList及其各個方法的使用 難度以及題量總結: 電梯調度問題:三次的電梯調度問題難度中等,基本邏輯並不複雜,但是要考慮的情況比較多。第一次電梯調度問題用了花費

軟件設計

收藏 評論

poemyang - 像Git一樣管理數據:深入解析數據庫併發控制MVCC的實現

MVCC 多版本併發控制(Multi-version Concurrency Control, MVCC)是一種通過維護數據多個版本來實現併發控制的技術。其基本思想是為每次事務生成一個新版本的數據,在讀數據時選擇不同版本的數據即可以實現對事務結果的完整性讀取。在使用MVCC 時,每個事務都是基於一個已生效的基礎版本進行更新,事務可以並行進行,從而可以產生一種圖狀結構。 如圖所示,基礎

軟件設計

收藏 評論

Carey_ccl - 四、裝飾者模式

一、模式定義   在不改變原有對象的前提下(不改變ConcreteComponent情況下),給原有對象擴展功能(利用ConcreteDecorator擴展功能,在ConcreteDecorator中注入ConcreteComponent)。如下所示: 二、應用場景   擴展一個類的功能,或者給一個類添加一些附加職責 三、優點: ①、靈活改變組合; ②、符合開閉原則; 四、裝飾者模式

軟件設計

收藏 評論