我覺得程式設計師最重要的兩個能力就是邏輯能力與抽象能力。
就目前而言,我覺得邏輯能力的代表就是演算法能力。
而抽象能力就是工程能力,就是如何通過合適的抽象來更簡便的建造乙個複雜的軟體系統。其實,我覺得計算機系統中的分層思想就是一種抽象思想,把乙個複雜的計算過程分為幾個層次,每個層次專注於本層的計算邏輯,並通過適當的抽象向上層提供api,於是上層基於這些api來完成上層的計算邏輯,以此類推,最終到達頂層,直接面向使用者。
對於抽象,我覺得很好理解的就是執行環境肯定是乙個抽象,因為執行的時候要基於他的介面嘛。但是對於編譯器就不太一樣,因為執行的時候不用基於編譯器就能執行,注意我這裡講的是自己編寫的**,而不是語言本身提供的庫,這些庫肯定屬於抽象。這對於解釋型語言就好理解,因為解釋型語言的執行是要基於直譯器的。但是,我覺得編譯器也提供了抽象,只不過這種抽象不像執行環境那樣,必須基於他才能執行,而是通過編譯器提供的抽象轉換,轉換一次以後就不用基於編譯器了,但這也是提供了抽象,一條簡單的語句也是提供的抽象,不要以為呼叫api才是抽象。。
雖然也是抽象,但我總覺得這種抽象不像api抽象,不知道怎麼理解好。。。
這樣想吧,就是有兩種抽象,一種就是執行時抽象,也就是api抽象,這種抽象組成計算機系統的層次結構。另一種抽象就是編譯抽象,就是把一些機器語言的組合抽象成一條高階語言語句,這種抽象發生在計算機系統的每個層次,不用基於其來執行。還有,兩種抽象都是為了方便我們進行軟體開發。
邏輯有點混亂。。。
繼承 數電邏輯門 邏輯抽象
使用c 實現數位電路繼承體系,這裡是基本邏輯抽象,用於描述邏輯門的基本特徵和實現的基本結構 功能 數電邏輯門抽象,定義高低電平符號 1 high true 0 low false 檔案 logic gates 結構 logic gates.h包含所有型別門的標頭檔案,具體抽象數電元件在各自原始檔中實...
應用邏輯(業務 商業邏輯)抽象出來
那東西主要就是將應用邏輯 業務 商業邏輯 抽象出來,與前端表現介面分開,從而體現三層 多層結構的易拓展 易維護性的特性。業務邏輯又分為業務規則和業務外觀 分開設計的目的是提高應用程式的可伸縮性和可維護性。如果你的應用程式在執行一段時間後,需要修改某些業務規則,你不需要對其它部分做大量的改動,如果你的...
網路邏輯封包的解析抽象
一 概念 封包原子 結構定義 資料名稱 資料型別 位元組長度 資料個數 是否為常量 常量值 資料型別支援long,int,float,double,bool,string等 資料個數 1時,是陣列 常量原子 是否為常量 true,且常量值有意義的封包原子 封包結構 由opcode和若干個封包原子組成...