joeyli
   
發文: 105
積分: 5
|
於 2003-08-12 22:24
    
覺得他講得很好......... 瞭解了新一代的程式語言, 將OOP經由不同面向觀點的分層區分後,提出的加強語言即為AOP(Aspect-Oriented Programming)。主要是將原本因為不同面向因素(例如:security, persistence....)而交雜的Code分開處理。 在本質上這個觀念並不新穎, 依據機能或觀點分層的概念在Software Architecture層次早就存在。只是目前打算更全面性的落實在Source Code view上。
哲學層面上更是如此,一件東西原本就因我們對其的觀察而存在無數面,但真正的本質卻只有一個,且是永遠也看不清楚的那一個.......... 故,為這樣的狀況留下彈性是必要的!
AOP就實務面而言尚須接受考驗,但就意義層面上來看,這樣的技術是可行且值得持續關注的。
在葉先生整個說明中唯一不是很認同的,就是在架構層面上若有依據不同機能或面向的分層後(當然是已經可預知的面向),其實就會解決部分的問題,也就是說不太可能所有面向的Code在落實到實作系統時都直接寫在Domain Object中,所以事實上Domain Object中的Code應該不會那麼樣的雜。 但,單靠架構面的設計的確沒辦法將Source code切得完善(對每一行Code),當然,還有本質上未來會有未知面向觀點出現的問題,所以AOP還是有其價值! Software Architecture的設計概念上也一直沒能處理這種未知面向的問題,OMG提出的MDA(Model Driven Architecture,第二天的周教授會講)有點點這樣的意味,因為整個Model會被分為PIM與PSM,但對於未知面向的出現好像也沒處理得很好...............
在小弟的想像中,初期而言應當就如葉先生所說的,先處理關於Domain Object中的Source Code分層,因為這部分的Code最為精華,也最需要釐清。至於已經可預知的面向,就由Architecture其他不同層的Code協助處理囉!
joeyli edited on 2003-08-12 22:42
|