Java 從AOP之濫觴說起設計師的職責

2021-09-01 20:16:30 字數 678 閱讀 7063

從表面上來看,aop是個好東西,但是仔細看,發現不是那麼美。

aop的不當使用,使**失去主線索,成為「方面」的分割。而主線索代表了乙個產品**中所圍繞的主要概念。

「方面」應該是為「線索」和「流程」服務的,在aop之前的程式設計正規化中,流程會呼叫好多基礎包完成自己的流程,而aop之後,無須再呼叫,自動織入。

其實想想,aop的織入和普通用的模板模式何其相似,模板模式用的好,效果也非常接近aop了。你說「業務過程無須再考慮日誌的記錄,所以日誌做成單獨的方面比較好」,但是為什麼日誌不是業務過程要考慮的?什麼時候記日誌,記什麼內容,當然且理所當然是業務要考慮要設計的,這是我的理解,和現代aop架構部一致的地方。

作為乙個設計者,你的每個業務流程,考慮引數檢查否?考慮許可權判斷否?考慮資料庫互動否?考慮記日誌否?當然都應該考慮,這是完整的過程。可以由上層設計師做成模板模式,由**實現者只做資料庫互動就可以,但是設計上是有全流程的設計的。

那麼,如果只對無關緊要的部分使用aop是否可以?當然是可以的,但是既然已經無關緊要,那麼用不用什麼心的架構,意義和價值都不大了。

另外,之前的設計過程,某乙個業務流程出現錯誤,只需找特定的乙個或幾個人負責,現在乙個業務涉及到整合的若干個方面,出錯了再也要找更多的人來處理,這是小事,但是很煩。

從另外乙個角度說,你是設計師,你不能總是嫌業務複雜和繁瑣,因為這是必然要面對的,逃避不是辦法。

程式設計語法分析之從表示式說起

在c語言中,分號 是語句結束的標誌,就相當於中文中的句號。表示一條語句的結束。反過來,是語句的象徵,本身 就表示一條語句,稱為空語句,一般用於佔位。比如while 1 第1個分號表示的是空語句,第2個分號表示的是語句結束符。主要區分表示式和語句的區別,在c語言中帶分號的就是語句,不帶分號的即為表示式...

java之設計模式

編寫 原則 開閉原則 對修改關閉 對擴充套件開發。如利於 二次開發 作用 1.重用 2.低耦合 模組與模組之間,類與類之間依賴程度要降低 3.高內聚 模組或者類內部依賴程度要高 4.易擴充 5.易維護 1.介面卡模式 橫向擴充套件,鏈條上有多個物件,每個物件持有下乙個物件的引用,這樣就會形成一條鏈,...

從零雙排學java之單例設計模式

核心思想 在程式執行的過程當中,該類的物件保持有且只有乙個的狀態 單例分兩種 懶漢式和餓漢式 單例需要滿足的條件 1.不讓外界建立這個物件即 構造方法需要私有化 2.在類的內部來建立這個物件即 讓這個物件只建立一次 3.需要給外部提供乙個訪問可以獲得該物件的方法即 提供乙個get方法 懶漢式 懶漢式...