聽老師講解AOP與容器有感
今天,老師形象的講解了關於AOP和容器的基本概念。總結兩句話:AOP就像雙面膠,將物件與物件之間的方法聯絡在一起;容器就像一個可以自我複製的工具箱,只要將集合類放到容器裡,則它裡面的所有物件共享容器的方法。
百度的解釋:Aspect Oriented Programming(AOP),面向切面程式設計,主要實現的目的是針對業務處理過程中的切面進行提取,它所面對的是處理過程中的某個步驟或階段,以獲得邏輯過程中各部分之間低耦合性的隔離效果。
容器是應用伺服器中位於元件和平臺之間的介面集合。
針對這百度解釋,對於從來沒有接觸過這些概念的我們來說,理解起來是很有難度的。但老師從生活化的例項以及與師哥師姐討論的過程中給我們解釋時,就啟發了我們很大的學習興趣。
通過這次課程,發現了自己在學習上的很多不足之處,對比老師教給的學習方法,總結如下:
1. 任何時候整體把握最重要
無論是看視訊還是學習新的資料,都要站在巨集觀上去了解整體框架,然後才是逐步細化。但當自己在剛開始接觸專案的時候,總會是一頭扎進程式碼裡面,都還不瞭解一門技術為什麼要用到這裡,就埋頭苦幹了,儘管到後來可能會慢慢摸索出來,但使用的時間也是巨大的。
2. 技術的應用是要抓住平衡的,關鍵是要認清楚自己的立場
就像我心裡也有一個疑問一樣,既然原生sql語句的查詢速度要比框架的執行效率高,為什麼我們的系統都採用框架而不是全部轉換成sql語句呢?
我們如果站在研究者,學習者的角度去思考問題的話,當然系統的執行效率是我們首要去思考的,但是我們要站在企業的開發者的角度去思考問題的話,我們必須要考慮系統實現的成本,維護成本,維護的難易程度等等。
正如老師所說的,最貴的不是機器,而是人,儘管人沒有機器可靠,但程式碼總是需要人來維護,如果目前開發的系統讓後期維護人員很吃力的話,那是相當不成功的,一句話點通了我們為什麼使用框架而不是執行效率最高的sql。
於是,我們對AOP和容器這些技術有了初步瞭解,它無非是將一些規範,一些公用方法封裝起來,讓我們在實現過程中減少重複程式碼的新增,將更多的經歷放到業務邏輯上,提高開發和維護效率。
總結:
學習前掌握正確的方向非常重要,只有站在整體結構的基礎上,掌握基本原則,才能讓自己的學習更加有效率,學習速度才能更快。