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