一下純屬個人觀點。
**生成工具確實好用(目前用過的codesmith),但是個人認為,如果你開發的乙個系統必須要使用**生成工具,那麼這個系統設計就完全不滿足oop(物件導向程式設計)思想了。試想一下,就算是雙胞胎也不是使用clone技術達到的。(個人認為**生成工具就是clone的一種體現)。
那麼系統中避免不了會出現一些類似或者是完全一樣的操作,只不過他們的物件或者是型別不一樣而已,那麼我們就應該想到物件導向的多型性,可以使用「泛型」,「繼承」來完成這些功能。
如果我們需要乙個「異卵雙胞胎——指那些表現有很多相似之處但是具體處理內容卻千差萬別的類或者方法」,那樣我們就要使用「介面」,為他們規定乙個統一的「外表」,讓他們看上去都那麼光鮮亮麗,讓所有程式設計師一看見它就能知道他是屬於那個介面,大體實現的功能是什麼。這就好比我們生活中一看見某個小孩就知道他們是誰家的,他們的父母是誰一樣。
如果我們需要乙個「同卵雙胞胎——指那些處理內容都相同,處理過程都一樣,只是他們是不同的型別」,那樣我們最好就要用抽象類+泛型,這個乙個很好的選擇,針對那些同樣的處理都在父類實現,也允許他們存在著差異,但是差異很少。那麼為什麼要用泛型呢,因為泛型約束和泛型的型別不確定性能很好的實現這個類接受千差萬別的型別,這樣他就是乙個有胸懷的父親,能接受屬於自己的男孩也能接受女孩。哈哈。
也有有空的時候需要考慮一下「二婚」的問題了,因為這會包括著乙個「孩子」兩個爸爸,或者多個爸爸的問題哦。嘻嘻
關於rbac那點事
rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...
關於亂碼的那點事
首先如果不編碼,那些非英文abc等字元會被瀏覽器按照網頁當前的字符集進行編碼傳到伺服器去,而伺服器則只會按照伺服器配置的字符集編碼 有預設的好像就是iso x 進行解碼,所以如果網頁的字符集和伺服器字符集解碼一致那麼就不會出亂碼!但是往往對於我們來說是不一致的。所以一般情況會出現亂碼,所以就有人想到...
關於樹的那點事。
突發奇想的想寫一些關於樹的用法,以後把經常用到的或者覺得重要的用法都給整理下來,好複習用。因為用得比較多的是二叉樹,所以先說一些二叉樹的性質 性質1 二叉樹第i層上的結點數目最多為2i 1 i 1 性質2 深度為k的二叉樹至多有2k 1個結點 k 1 性質3 包含n個結點的二叉樹的高度 k 至少為 ...