命令模式 命令模式是一種行為設(shè)計(jì)模式,它將請求封裝成一個(gè)對象,從而使我們可以將不同的請求、隊(duì)列或日志請求等參數(shù)化,同時(shí)支持可撤銷的操作。該模式的核心思想是將請求發(fā)送者和接收者...
命令模式 命令模式是一種行為設(shè)計(jì)模式,它將請求封裝成一個(gè)對象,從而使我們可以將不同的請求、隊(duì)列或日志請求等參數(shù)化,同時(shí)支持可撤銷的操作。該模式的核心思想是將請求發(fā)送者和接收者...
外觀模式 外觀模式(Facade Pattern)是一種結(jié)構(gòu)型設(shè)計(jì)模式,它提供了一個(gè)統(tǒng)一的接口,用來訪問子系統(tǒng)中的一群接口。外觀模式定義了一個(gè)高層接口,使得客戶端可以更加方便...
責(zé)任鏈模式 責(zé)任鏈模式是一種行為型設(shè)計(jì)模式,它將請求和處理請求的對象解耦,形成一個(gè)請求處理鏈。在該模式中,多個(gè)對象依次處理同一個(gè)請求,直到找到一個(gè)能夠處理該請求的對象為止。 ...
代理模式 代理模式是一種結(jié)構(gòu)型設(shè)計(jì)模式,它的主要作用是為其他對象提供一種代理以控制對這個(gè)對象的訪問。代理對象與被代理對象實(shí)現(xiàn)了相同的接口,客戶端通過代理對象訪問被代理對象,代...
對象樹與組合模式的關(guān)系 Qt 的對象樹機(jī)制是組合模式的一種實(shí)現(xiàn),它使用了組合模式的思想來管理對象的父子關(guān)系。在 Qt 中,每個(gè)對象都可以有一個(gè)父對象,也可以有多個(gè)子對象。當(dāng)一...
橋接模式 橋接模式(Bridge Pattern)是一種用于將抽象部分和實(shí)現(xiàn)部分分離的設(shè)計(jì)模式。它通過將實(shí)現(xiàn)部分抽象化,使得抽象部分和實(shí)現(xiàn)部分可以獨(dú)立地變化,從而實(shí)現(xiàn)系統(tǒng)的松...
Qt源碼的設(shè)計(jì)優(yōu)秀程度,相信使用過Qt的程序員都會(huì)有所感受。若深入源碼去體會(huì),則感受更深。廢話不多說,先說目的。筆者希望通過解析Qt框架中使用到的設(shè)計(jì)模式和面向?qū)ο笤O(shè)計(jì)原則,...
背景 CMake是一個(gè)跨平臺(tái)的構(gòu)建系統(tǒng),它能自動(dòng)生成各種平臺(tái)和編譯器的構(gòu)建文件,這對于C++開發(fā)人員來說是必須掌握使用的工具。CMake的特點(diǎn)包括: 跨平臺(tái)構(gòu)建:CMake支...
關(guān)鍵概念 下面會(huì)說到虛函數(shù)相關(guān)的一些重要細(xì)節(jié)。了解這些概念對于理解C++中的虛函數(shù)調(diào)用和動(dòng)態(tài)類型檢查非常重要。雖然這些細(xì)節(jié)在匯編層面不一定直接可見,但它們確實(shí)影響了編譯器如何...