tag 軟件設計

標籤
貢獻20
104
12:25 PM · Nov 05 ,2025

@軟件設計 / 博客 RSS 訂閱

poemyang - 從局部性原理到一致性模型:深入剖析緩存設計的核心權衡

緩存:高速存取數據的前哨站 緩存的根本思想,源於一個在計算機科學中被反覆驗證的黃金法則——局部性原理(Principle of Locality)。該原理包含兩個層面: 1)時間局部性(Temporal Locality):如果一個數據項被訪問,那麼在不久的將來,它極有可能被再次訪問。例如,一篇熱門新聞的詳情頁、一個爆款商品的庫存信息。 2)空間局部性(Spatial Local

軟件設計

收藏 評論

法相唯識論 - A股的特點就是資金和籌碼遊戲,利用T+1割散户

ECT-OS-JiuHuaShan/https://orcid.org/0009-0009-0006-8591-1891 對A股市場的觀察很敏鋭。確實,A股市場有其獨特的運行特徵,其中資金驅動、籌碼博弈和T+1制度確實是重要的影響因素。讓我們從更系統的角度來分析這些特點: A股市場的結構性特徵 1. 資金驅動型市場 # 資金流向分析的基本維度 market_dynamics = { "資

軟件設計

收藏 評論

poemyang - 併發編程的三大基石:從底層邏輯聊透“同步、互斥與分工”

當單核性能的狂飆突進時代緩緩落幕,多核架構已成為算力增長的主旋律。然而,更多的核心並不天然等同於更強的性能。這就像將一條單行道拓寬為多車道高速公路,如果缺乏高效的交通調度系統,車輛(線程)間的搶道與擁堵(鎖競爭)反而會造成更嚴重的癱瘓。 Java,作為企業級應用的中流砥柱,其併發設計的智慧恰在於此:它提供的不僅是一系列工具,更是一種從“暴力爭搶”到“精巧協同”的思維躍遷。 本文將穿越這

軟件設計

收藏 評論

亞德雷 - 搜索數據庫表的性能優化過程

問題背景 做一個數據庫表查看、標註與分析的工具軟件。 \(Table\)是數據庫中表的信息(information_schema.tables);\(Documentation\)是\(Table\)的數據字典文檔,存儲在本地文件中;\(Annotation\)是對\(Table\)的額外標註信息,存儲在另一個數據庫中。每一條\(Table\),最多關聯到一條\(Documentation\)和一

軟件設計

收藏 評論

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

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

軟件設計

收藏 評論

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

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

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

收藏 評論

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

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

軟件設計

收藏 評論

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

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

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

收藏 評論

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

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

軟件設計

收藏 評論

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

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

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

收藏 評論

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

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

軟件設計

收藏 評論

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

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

軟件設計

收藏 評論

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

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

軟件設計

收藏 評論

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

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

軟件設計

收藏 評論

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

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

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

收藏 評論

老肖想當外語大佬 - 解決DDD最大難題-如何劃分領域

本文書接上回《反DDD模式之“複用”》,關注公眾號(老肖想當外語大佬)獲取信息: 最新文章更新; DDD框架源碼(.NET、Java雙平台); 加羣暢聊,建模分析、技術實現交流; 視頻和直播在B站。 背景 最近直播的時候,看到一條留言,問我是否有關於如何劃分領域的文章,翻看了一下,發現關於這麼重要的問題,居然沒有專門、認真、細緻地講過。也難怪不少人説不接地氣,整天搞些虛頭巴腦的東西。但

軟件設計 , ddd , 後端

收藏 評論

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

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

軟件設計

收藏 評論

老肖想當外語大佬 - 學習真DDD的最佳路徑

本文書接上回《DDD是軟件工程的第一性原理?》,關注公眾號(老肖想當外語大佬)獲取信息: 最新文章更新; DDD框架源碼(.NET、Java雙平台); 加羣暢聊,建模分析、技術實現交流; 視頻和直播在B站。 假DDD的特徵 在開始之前,考慮到目前關於DDD的資料非常多且雜,我們需要具備分辨的能力,確保不被誤導。看過本系列文章的朋友,對我們是如何看待DDD的會有一定的感受,這裏我們列舉一

軟件設計 , ddd , 後端

收藏 評論

劉懷日 - 由模塊聯邦引發的思考

用「模塊聯邦+npm monorepo」構建我的技術沉澱體系:讓開發能力螺旋式上升 作為開發者,你是否也有過這樣的困惑: 開發新項目時,總遇到似曾相識的功能,但翻遍舊項目、筆記才勉強復現;臨時吃透的知識點,項目穩定後很快遺忘,下次遇到仍像“第一次接觸”;整理的技術筆記東一榔頭西一棒槌,風格雜亂,時間久了連自己都不想看;不同項目的相似模塊分散在各個倉庫,複用成本極高,新項目只能重複造輪子…… 我曾深

軟件設計

收藏 評論

黃明基 - AI真的太好用啦!Aspire Dashboard集成GitHub Copilot。

一鍵解析數百條日誌,秒懂複雜錯誤追蹤,AI助手讓調試效率飛昇! 在.NET Aspire 9.3版本中,微軟做了一項創新性的集成:將GitHub Copilot直接嵌入Aspire Dashboard,使其變身為一款智能調試助手。這個功能將AI的強大分析能力與分佈式應用的監控診斷深度融合,為開發者帶來了前所未有的調試體驗。 Copilot如何融入Aspire Dashboard? GitHu

軟件設計

收藏 評論

老肖想當外語大佬 - 反DDD模式之關係型數據庫

本文書接上回《圖窮匕見-所有反DDD模式都是垃圾》,關注公眾號(老肖想當外語大佬)獲取信息: 最新文章更新; DDD框架源碼(.NET、Java雙平台); 加羣暢聊,建模分析、技術實現交流; 視頻和直播在B站。 背景 我在與開發者交流關於DDD的建模思路時,往往會遇到一個難題,就是不少經驗豐富的開發者,總是帶着技術的思維來理解業務,ta的大腦裏無法純粹地勾勒出一個邊界明確的代表業

軟件設計 , 關係數據庫 , ddd

收藏 評論

韓嚴重 - OrchardCroe業務實踐 -- 金税四期雲端開票內網郵件無法接入方案

UI 系統UI基於 百度 amis ,目前這個模塊是嵌入在 vue-typescript-admin 的腳手架項目上的, 在vue2 項目上搭建了一個 amis json渲染器引擎 頁面設計的json數據保存在服務端,方便後續熱更新,且不用發佈前端代碼 服務端 服務端基於OrchardCore 的Query ,和OC帶的工作流實現 OC官方只提供了 Lucene Query ,和 S

軟件設計

收藏 評論

_bob - “靜態回調+上下文指針”模式實現回調機制

0 摘要 以常用的某品牌相機的驅動為例,分析回調機制的實現。 1 SetCallback(即,註冊回調)的實現 1.1 函數簽名 int MV_CC_RegisterImageCallBackEx( void* handle, // 相機設備句柄 void (__stdcall *pCallBack)(unsigned cha

軟件設計

收藏 評論