1. 程式人生 > >讀《expert one-on-one J2EE Development without EJB 》

讀《expert one-on-one J2EE Development without EJB 》

       簡單翻閱了一下這本經典書籍,並沒有像有些讀者那樣的醍醐灌頂,大徹大悟的感覺。一是可能入行時間短,從開始使用框架進行web的開發就一隻使用spring,對於EJB沒有親身使用經驗。二是可能道行太淺,沒有理解書中作者的深刻思想。部落格用於簡單記錄讀書過程中感覺有價值的一些點,可能是思想上的也可能是一些概念理論,沒有章法。

     前幾章節的EJB不作記錄,不知道他在說啥

第六章:輕量級容器與控制反轉

 無狀態會話bean:SLSB          bean一旦例項化就被加進會話池中,各個使用者都可以共用。即使使用者已經消亡,bean的生命期也不一定結束,它可能依然存在於會話池中,供其他使用者呼叫。由於沒有特定的使用者,那麼也就不能保持某一使用者的狀態,所以叫無狀態bean。但無狀態會話bean並非沒有狀態,如果它有自己的屬性(變數),那麼這些變數就會受到所有呼叫它的使用者的影響,這是在實際應用中必須注意的。

     有狀態會話bean:每個使用者有自己特有的一個例項,在使用者的生存期內,bean保持了使用者的資訊,即“有狀態”;一旦使用者滅亡(呼叫結束或例項結束),bean的生命期也告結束。即每個使用者最初都會得到一個初始的bean。

針對介面程式設計,而非針對類程式設計

 1.站在你的角度:沒有實現介面自己直接寫類,例如我要寫一個PersonDao類.首先我就要想返回一個什麼值給你呢 ?返回一個具體引數值呢還是返回一個物件給你呢?好吧.不知道...去翻別人的類的程式碼.(煩死了)...我CAO別人還沒寫..沒得翻!!!!糾結!!去問專案經理你要什麼值!!!專案經理不在????.....好吧暈了......到方法名了:方法名代表了這個方法的意義:例如儲存一個物件.有些人愛用SAVE(),有些愛用ADD().到底用哪個呢?

       2.你的同事(使用你的類.你的類呼叫者):我CAO.為毛有些人返回給我的是引數.有些人返回給我的物件.搞毛線啊.怎麼處理啊!!!為什麼有些用SAVE方法.有些用ADD方法名????去翻你程式碼,暈了

總結一下:JAVA的JDBC就是一種介面規範.SUN公司寫好一系列介面.規定返回值.各大資料庫廠商的程式碼我不管你怎麼實現.命名.返回值.傳入值是定死的.方便了呼叫者.也方便了實現者.這就是程式設計規範.

對內的業務功能可以只有實現類幹掉介面

優先使用策略模式而不是繼承

第七章:Spring框架簡介

spring核心主要兩部分:

(1)aop:面向切面程式設計,擴充套件功能不是修改原始碼實現

(2)ioc:控制反轉 

        儘可能將資源查詢程式碼從應用物件中移出,應用物件應該從外部獲得連線工廠,這是將IOC的基本原則應用於資源之上,在任何環境下都可以靈活地配置應用物件,並且——同樣重複地——輕鬆地測試它們。

       JNDI(Java Naming and Directory Interface,Java命名和目錄介面)是SUN公司提供的一種標準的Java命名系統介面,JNDI提供統一的客戶端API,通過不同的訪問提供者介面JNDI服務供應介面(SPI)的實現,由管理者將JNDI API對映為特定的命名服務和目錄系統,使得Java應用程式可以和這些命名服務和目錄服務之間進行互動。目錄服務是命名服務的一種自然擴充套件。兩者之間的關鍵差別是目錄服務中物件不但可以有名稱還可以有屬性(例如,使用者有email地址),而命名服務中物件沒有屬性

        儘量使用普遍性高,特殊性少的介面

第八章:基於AOP概念的宣告性中介軟體

程式碼重複是最糟糕的程式碼臭味,只要出現重複的程式碼,必定有什麼地方存在嚴重的問題,要麼設計有問題,要麼是實現有問題。

     責任鏈模式學習:

        CGLIB動態代理:https://www.jianshu.com/p/9a61af393e41?from=timeline&isappinstalled=0

元資料:又稱中介資料、中繼資料,為描述資料的資料(data about data),主要是描述資料屬性(property)的                 資訊,用來支援如指示儲存位置、歷史資料、資源查詢、檔案記錄等功能

              任何檔案系統中的資料分為資料和元資料。資料是指普通檔案中的實際資料,而元資料指用來描述一個文 件的特徵的系統資料,諸如訪問許可權、檔案擁有者以及檔案資料塊的分佈資訊(inode...)等等。在叢集檔案系統中,分佈資訊包括檔案在磁碟上的位置以及磁碟在叢集中的位置。使用者需要操作一個檔案必須首先得到它的元資料,才能定位到檔案的位置並且得到檔案的內容或相關屬性。

 元資料是指用來描述資料的資料,更通俗一點,就是描述程式碼間關係,或者程式碼與其他資源(例如資料 庫    表)之間內在聯絡的資料。在一些技術框架,如struts、EJB、hibernate就不知不覺用到了元資料。對struts來說,元資料指的是struts-config.xml;對EJB來說,就是ejb-jar.xml和廠商自定義的xml檔案;對hibernate來說就是hbm檔案。以上闡述的幾種元資料都是基於xml檔案的或者其他形式的單獨配置檔案。這樣表示有些不便之處。一、與被描述的檔案分離,不利於一致性的維護;第二、所有這樣檔案都是ASCII檔案,沒有顯式的型別支援。基於元資料的廣泛應用,JDK5.0引入了Annotation的概念來描述元資料。在java中,元資料以標籤的形式存在於java程式碼中,元資料標籤的存在並不影響程式程式碼的編譯和執行。

第九章:事務管理

     不要為不必要的需求買單

第十一章:遠端呼叫

未完待續....