1 大多數情況下,你可以強制性地對很多事物進行分類,但是你並沒有辦法讓它們強制按照你的分類方法進行變化,這就意味著有時候事物的一些簡單的變化,被你的分類視角進行轉化後,會在多個分類的後的視角內出現變化,這會導致簡單的行為複製化.雖然oo並不定要嚴格按照分類方式處理,但是一旦你這樣做了,oo將會失去可替換的特性.
2 由於它們是多個正交方面組合在一起的系統,往往就會遇到在實際中的阻礙,比如許可權管理,盡量有aop之類的解決方案出現,但通常的aop是需要強制你對乙個物件的繼承,但同時為了避免正交分解導致的混亂,oo語言又常常抹掉了多重繼承,使得即便是比較oo的實現,也會大大弱化,被強制指定的繼承某乙個父類的物件往往就會失去**利用的優勢.因此,比較高效的aop實現一般通過**注入或是其它什麼方式,但實際上這已經是一種破壞oo封裝性原則的hack行為了.
3 oop粒度理論,通過組合與分離的方案在實際上並不是很有效,盡量它聲稱可以通過微型類與微型方法來解決這個問題,但是與此同時帶的**管理問題也是乙個很讓人頭痛的問題.
4 面 向物件的設計傾向於重新進行資料庫應用程式編碼。特別是,物件導向一般重新包裝導航資料庫,通常情況下都拒絕了在20世紀70年代取而代之的關係技術--認 為關係理論是普遍優於航海理論.關係理論的的基礎是集合理論,而航海是基於對海無紀律性的和狹隘的情況方針。關係理論可以提供更多的架構,更一致,更清晰的問題,包括相對論的觀點,以及自動優化。另外,oo使用的資料庫允許多個工具和語言,交流和使用其屬性(資料)的方式,也沒有以書面形式明確地為每一項新的要求提供介面。
5 目前也缺少像樣的,客觀而公正和公開的證據表明物件導向的更好。它可能只是流於主觀或特定領域。軟體工程的問題就是是缺乏良好的衡量標準。
6 oo還有乙個較大的問題就是缺乏連貫性,在物件導向的商業設計方法中,過程/關係式的做法往往更加一致(成組編碼,由任務,並利用資料庫來示範名詞結構和關係)。
7 過去最大的過錯是認為物件導向試**決人和管理的問題(獎勵,培訓等),而不是斷層的正規化。直到真正的ai以前,沒有正規化能夠強制好的**。若有的話,物件導向的很容易提供更多的辦法作為螺絲了。
String 一些問題
前言 等號 對於基本型別,比較的是值,對於引用型別,比較的是記憶體位址。1.在物件池中建立,如果常量池中已經存在則返回常量池中已經有的。private static void test1 結果 true 2.乙個在string pool中,乙個在堆中。private static void test...
C 一些問題
1 if else語句和switch case語句的效率分析對比 switch效率高。switch的效率與分支數無關,當只有分支比較少的時候,if效率比switch高,因為switch有跳轉表。分支比較多,那當然是switch 根據大量的實際程式測試 不考慮不同的編譯器優化程度差異,假設都是最好的優...
mysql 一些問題
1 中文亂碼 問題 推薦用 uft 8 編碼 適配一切介面,mysql中 發生中文亂碼時 開啟mysql 安裝路徑 更改後 重啟mysql 服務即可,有時也需要 重新匯入資料庫 可能是與 source 檔案時 編碼沒有設定好 client password your password port 33...