強烈傾向於把程式分解成有膠合層連線的庫集合,特別是共享庫。使用庫來達到c語言的模組性。
庫分層的乙個重要形式是外掛程式。
例項分析:gimp外掛程式
unix的模組化傳統就是薄膠合層原則。也就是程式底層和頂層之間的抽象層越少越好。原因可能是因為c語言建立抽象層非常困難。
oo語言鼓勵具有厚重的膠合和複雜層次的體系。如果問題域確實很複雜,這種方法可能有用,但是如果用複雜的方法處理簡單的問題,結果適得其反。
oo語言有讓程式設計師進入過度分層陷阱的傾向。
「如果你知道自己在做什麼,三層就足夠了;如果你不知道自己在做什麼,十七層也不夠。」
物件導向的程式程式設計
面向過程的程式是把所要完成的任務看成乙個乙個的步驟,然後通過完成每乙個步驟的程式,進而寫出整個程式。物件導向的程式是將所要完成的任務分為乙個乙個抽象的物件,物件擁有自己的屬性和方法,程式的執行就是一系列訊息在物件之間的傳遞。假設我們要列印學生的姓名和成績。面向過程的方法是 std1 std2 def...
Go語言 物件導向程式設計
go語言的語言設計非常的簡潔,因為,go語言並沒有物件導向的概念,因此go語言中沒有物件導向的一些概念,例如 封裝 繼承 多型,虛函式 建構函式,this指標等 儘管go語言中沒有封裝 繼承 多型,但同樣也可以實現相應的功能。封裝 通過方法進行實現 繼承 通過匿名字段實現 多型 通過介面實現 方法也...
程式語言物件導向與面向過程
一開始作為乙個計算機小白時,看到這兩個專業名詞是相當mengb的。而且一開始看大佬們的部落格也看不懂,現在用小白的立場來說說。物件導向就是高度實物抽象化 面向過程就是自頂向下的程式設計。假設有乙個問題,刷抖音。可以看出,面向過程是相對嚴謹的一套操作流程。而物件導向是相對寬廣的,每個物件都可以做出很多...