抽象的反義詞是什麼
導讀:從具體事物抽出,概括出它們共同點如本質屬性與關係等而暫不考慮它的細節,不考慮其他因素,這種思維過程,稱為抽象。抽象能力尤其對於程式設計師來說十分重要。
通俗地理解什麼是抽象?
抽象從字面上理解,形象被抽掉了只剩下一個概念。生活中我們所感受到的東西都是具體的,把很多相似的具體東西集結起來,抽出它們最本質的東西,忽略掉其他部分就是抽象了。
我們可以換個思考方式,抽象的反義詞是具體,這樣會更好地理解抽象的含義。
生活中抽象的例子
抽象的例子有很多。這裡各位思考嘗試一下對“足球運動”和“軟體開發”進行抽象。
足球是一個11人團隊運動,由前鋒、中鋒、邊鋒、中場、邊衛、中衛、後衛等多個位置組成,團隊成員間需各司其職,默契配合才能創造佳績。
同理,軟體開發也是需要由一個團隊成員相互協作完成的一件事情,團隊間由專案經理、產品、前端、後臺、運維、測試等組成,相互配合才能高效高質量上線產品。
透過對上面兩個看似不相關的東西進行抽象,抽出他們的共同點則是需多人參與相互協作的一種活動行為。
建議:鍛鍊抽象思維可以自己列舉出兩個物品並進行思考抽象聯絡。
實際開發中抽象的例子
相信各位在實際開發中應該都會遇到這種現象,隨著業務和需求越來越複雜和增多,程式總是需要進行調整、擴充套件和重構。這個時候如果有良好抽象能力的程式設計師則能夠深入理解業務,並根據業務的特點抽象出軟體最合理的設計(可讀性、擴充套件性、伸縮性等)。像設計模式、中介軟體等也是慢慢在這些抽象的過程中產生。
這裡舉一個簡單的模型設計例子,一個音樂競賽類APP軟體,選手報名比賽會在APP上以點贊數進行排行,粉絲則透過向自己喜歡的偶像點贊,但是點贊是有限制的。主辦方想有一個商場系統,使用者在商場購買比賽紀念品後可以獲取點贊券,該券則可用於增加贊數。
到這裡便開始對資料模型進行設計。如果不深入思考抽象,我們很快按需求便設計出一個點贊券模型(點贊數、有效日期、結束日期.等屬性),那這樣做會有什麼問題?假如後期主辦方的商城想漸漸拓展業務,想推出打折券、滿減券等來吸引使用者。那麼則時候進行系統程式碼的修改調整那麼工作量將會很大。
問題出在了哪裡?
沒有很好的對東西進行抽象,沒有考慮到可擴充套件性。現在對打折券、滿減券、點贊券進行抽象,三者都是一種優惠券,對於使用者來說都是福利的券。那麼在一開始的模型設計上如果考慮到了這點,那麼將可應對後來的改變。當然這也是一個小小的例子,軟體開發抽象之處有很多。
最後
關於抽象的話題,我們就討論到這裡。抽象能力對於程式設計師來說很重要,不過要注意的是,軟體開發並不是僅僅只依靠抽象能力就能完成的,把抽象出來的架構、模型等實現,邏輯思維能力、系統分析能力等佔很重要的部分。
版權宣告:
作者:Julie Selby
連結:https://sh100k.com/chou-xiang-de-fan-yi-ci-shi-shen-me/
來源:SH100K – 生活百科
文章版權歸作者所有,未經允許請勿轉載。