我是奮斗在河姆渡的一名普通程序員,懷揣著夢想與遠大志向,為了實現理想,我需要不斷完善自我,強化自我。
工作三年的我從求學開始就養成記筆記的習慣,這也使得我在平時的開發過程中經常會做一些總結性的記錄,但是想法並沒有得到驗證,所以今天我是帶著問題來的。
對於一些開發方面有一些個人的觀點和想法,不高深也不是什麼新鮮玩意,只是想來求證思想的正確性,以便於日後進行改正
以下內容為個人觀點,特來求證其正確性,往大鳥們指點迷津!
思維一: 萬變不離其宗
萬變不離其宗, 無論是封裝、繼承、多態,還是Ioc/DI, AOP, SOA,包括抽象類和接口等等, 都是想通過各自的“奇技淫巧”從代碼層/架構層等不同層面不同維度解決同一個問題,
達到同樣的目的 : 高內聚低耦合,可擴展/維護性,穩定性……我們在一個點周圍奮斗了N年,就為了一個點 ,封裝繼承多態,抽象類接口,切面編程可以看做是從代碼層來實現這個點,
而類似DI,SOA這類可以看做是從架構層來達到這一的目的。
思維二:對抽象類的理解,抽象類是對對象具體行為的抽象
什麼是抽象類?答案其實很模糊,基本上很多人回答或者課本上都是把抽象類的一些特征,關鍵字,語法等做了一次概述 ,表述起來全面但還是不夠具體、鮮明、簡潔
結合實際開發經驗認為:抽象類是對對象具體行為的抽象
這要結合類與對象來闡述,類是對象的抽象,對象是類的具體實例,抽象類是對象行為(具體方法)的抽象,那麼抽象類對於方法而言,抽象類是對方法的一種抽象,它裡面包含了未實現的方法(抽象方法),
作用在於: 多態性,擴展性的體現,我們往往將一些行為(方法)的公共部分提煉出封裝到抽象類或接口中, 來達到後面對此方法的擴展和實現, 比如 : PG(精靈寶可夢) 抓這個行為,我們抽象出抓方法, 具體
抓什麼我們不管,後面很多需要用到這個的時候直接實現它就行。
類==對象的抽象
抽象類==對象具體行為的抽象
思維三:控制反轉與依賴注入的關系
對於Ioc和DI的關系,我認為Ioc是一種思想,一種設計原則,DI是對Ioc的具體實現方式之一
以上是個人的部分觀點,與大家分享的同時也有待求證
小鳥們不要胡亂認同他人未得到認證的觀點,大鳥們也不要嘲笑小鳥的無知,在這個開放共享的時代需要所有開發者共同探索,共同進步