眾所周知接校,解決代碼耦合問題的核心原則之一是信息隱藏猛频。即把所有客戶不需要關(guān)心的信息盡力隱藏起來狮崩,只暴露出僅需要被依賴的東西。這樣做不僅可以控制變化...
符號隱藏與依賴管理是軟件工程中關(guān)乎效率的關(guān)鍵能力鹿寻。它的核心是“每個軟件模塊如何在隱藏好自己的同時睦柴,還能低成本的精準(zhǔn)獲取依賴”。做好了這件事毡熏,每個...
一個項目中坦敌,除了非常底層的軟件模塊外,大多數(shù)模塊都需要其它的模塊的協(xié)助才能完成功能痢法,這需要借助模塊之間的依賴管理能力狱窘。 依賴管理包含如何控制模塊...
前文談了代碼和庫的符號隱藏手段。在C/C++中财搁,無論我們?nèi)绾螌Ψ栠M行隱藏蘸炸,最后該暴露給客戶的API還是要聲明到頭文件中發(fā)布給別人使用。如何設(shè)計...
當(dāng)程序規(guī)模變大之后尖奔,人們會對軟件進行模塊劃分搭儒,以便分而治之。有了模塊之后提茁,就可以將其構(gòu)建成庫(靜態(tài)庫或者動態(tài)庫)發(fā)布給別人使用淹禾。 前文所述的符號...
C語言中全局變量和函數(shù)的符號是默認(rèn)外部可訪問的。 只要我們知道一個全局變量或者函數(shù)的聲明茴扁,我們就可以在當(dāng)前的編譯單元中直接使用它稀拐,即使它定義在另...
由于工作原因,常常會在各種編程語言技術(shù)棧下切換丹弱。每次切回到C/C++技術(shù)棧下德撬,都會為C/C++語言缺乏一個好用的包管理器而不適應(yīng)好一陣。 包管理...
上一篇中我們談到在軟件開發(fā)中使用演進式設(shè)計來讓軟件持續(xù)的響應(yīng)變化躲胳。 演進式設(shè)計強調(diào)對不確定的變化不做提前預(yù)估蜓洪,優(yōu)先保持設(shè)計的“簡單性”,避免過度...
上世紀(jì)60年代后坯苹,由于“軟件危機”的推動隆檀,人們開始借助工程化的方式解決軟件開發(fā)中質(zhì)量、成本和工期不可控的問題粹湃,形成了軟件工程學(xué)恐仑。 軟件工程學(xué)從其...