導航:首頁 > 編程語言 > javadesign

javadesign

發布時間:2024-05-23 21:45:33

『壹』 關於java design pattern的幾個問題

prototype:原型模式
用原型實例指定創建對象的種類,並且通過拷貝這些原型創建新回的對象
abstract factory:抽象答工廠模式
根據多態來創建想要的對象,而不需要知道創建對象的具體過程。
singleton:單例模式
單例模式設計的類型,整個JVM中只存在一個這樣類型的實例。
adapter:適配器模式
主用來要為介面提供一些默認的實現類,一般為抽象類
strategy:策略模式
為一個需求提供不同的解決方案,每一個方案類都實現了同一個介面.

我只能講這么多了,因為設計模式這東西也不是一名兩名話能說清楚的,假如想學設計的話建議你去看看閻宏的《JAVA與模式》,挺不錯的。

『貳』 JAVA面向對象設計有哪些原則

甚至還有經驗豐富的Java程序員沒有聽說過OOPS和SOLID設計原則,他們根本不知道設計原則的好處,也不知道如何依照這些原則來進行編程。 眾所周知,Java編程最基本的原則就是要追求高內聚和低耦合的解決方案和代碼模塊設計。查看Apache和Sun的開放源代碼能幫助你發現其他Java設計原則在這些代碼中的實際運用。Java DevelopmentKit則遵循以下模式:BorderFactory類中的工廠模式、Runtime類中的單件模式。 原則1:DRY(Don'trepeatyourself) 即不要寫重復的代碼,而是用"abstraction"類來抽象公有的東西。如果你需要多次用到一個硬編碼值,那麼可以設為公共常量;如果你要在兩個以上的地方使用一個代碼塊,那麼可以將它設為一個獨立的方法。SOLID設計原則的優點是易於維護,但要注意,不要濫用,plicate不是針對代碼,而是針對功能。這意味著,即使用公共代碼來驗證OrderID和SSN,二者也不會是相同的。使用公共代碼來實現兩個不同的功能,其實就是近似地把這兩個功能永遠捆綁到了一起,如果OrderID改變了其格式,SSN驗證代碼也會中斷。因此要慎用這種組合,不要隨意捆綁類似但不相關的功能。 原則2:封裝變化 在軟體領域中唯一不變的就是"Change",因此封裝你認為或猜測未來將發生變化的代碼。OOPS設計模式的優點在於易於測試和維護封裝的代碼。如果你使用Java編碼,可以默認私有化變數和方法,並逐步增加訪問許可權,比如從private到protected和notpublic.有幾種Java設計模式也使用封裝,比如Factory設計模式是封裝"對象創建",其靈活性使得之後引進新代碼不會對現有的代碼造成影響。 原則3:開閉原則 即對擴展開放,對修改關閉。這是另一種非常棒的設計原則,可以防止其他人更改已經測試好的代碼。理論上,可以在不修改原有的模塊的基礎上,擴展功能。這也是開閉原則的宗旨。 原則4:單一職責原則 類被修改的幾率很大,因此應該專注於單一的功能。如果你把多個功能放在同一個類中,功能之間就形成了關聯,改變其中一個功能,有可能中止另一個功能,這時就需要新一輪的測試來避免可能出現的問題。 原則5:依賴注入或倒置原則 這個設計原則的亮點在於任何被DI框架注入的類很容易用mock對象進行測試和維護,因為對象創建代碼集中在框架中,客戶端代碼也不混亂。有很多方式可以實現依賴倒置,比如像AspectJ等的AOP(AspectOrientedprogramming)框架使用的位元組碼技術,或Spring框架使用的代理等。 原則6:優先利用組合而非繼承 如果可能的話,優先利用組合而不是繼承。一些人可能會質疑,但我發現,組合比繼承靈活得多。組合允許在運行期間通過設置類的屬性來改變類的行為,也可以通過使用介面來組合一個類,它提供了更高的靈活性,並可以隨時實現。《EffectiveJava》也推薦此原則。 原則7:里氏代換原則(LSP) 根據該原則,子類必須能夠替換掉它們的基類,也就是說使用基類的方法或函數能夠順利地引用子類對象。LSP原則與單一職責原則和介面分離原則密切相關,如果一個類比子類具備更多功能,很有可能某些功能會失效,這就違反了LSP原則。為了遵循該設計原則,派生類或子類必須增強功能。 原則8:介面分離原則 採用多個與特定客戶類有關的介面比採用一個通用的涵蓋多個業務方法的介面要好。設計介面很棘手,因為一旦釋放介面,你就無法在不中斷執行的情況下改變它。在Java中,該原則的另一個優勢在於,在任何類使用介面之前,介面不利於實現所有的方法,所以單一的功能意味著更少的實現方法。 原則9:針對介面編程,而不是針對實現編程 該原則可以使代碼更加靈活,以便可以在任何介面實現中使用。因此,在Java中最好使用變數介面類型、方法返回類型、方法參數類型等。《EffectiveJava》和《headfirstdesignpattern》書中也有提到。 原則10:委託原則 該原則最典型的例子是Java中的equals()和hashCode()方法。為了平等地比較兩個對象,我們用類本身而不是客戶端類來做比較。這個設計原則的好處是沒有重復的代碼,而且很容易對其進行修改。 總之,希望這些面向對象的設計原則能幫助你寫出更靈活更好的代碼。理論是第一步,更重要的是需要開發者在實踐中去運用和體會。

『叄』 java面向對象設計原則和設計模式詳解

Java面向對象設計原則
1) Open-Close Principle(OCP),開-閉原則,講的是設計要對擴展有好的支持,而對修改要嚴格限制。這是最重要也是最為抽象的原則,基本上我們所說的Reusable Software既是基於此原則而開發的。其他的原則也是對它的實現提供了路徑。
2) Liskov Substituition Principle(LSP),里氏代換原則,很嚴格的原則,規則是「子類必須能夠替換基類,否則不應當設計為其子類。」也就是說,子類只能去擴展基類,而不是隱藏或覆蓋基類.
3) Dependence Inversion Principle(DIP),依賴倒換原則,「設計要依賴於抽象而不是具體化」。換句話說就是設計的時候我們要用抽象來思考,而不是一上來就開始劃分我需要哪些哪些類,因為這些是具體。這樣做有什麼好處呢?人的思維本身實際上就是很抽象的,我們分析問題的時候不是一下子就考慮到細節,而是很抽象的將整個問題都構思出來,所以面向抽象設計是符合人的思維的。另外這個原則會很好的支持OCP,面向抽象的設計使我們能夠不必太多依賴於實現,這樣擴展就成為了可能,這個原則也是另一篇文章《Design by Contract》的基石。
4) Interface Segregation Principle(ISP),「將大的介面打散成多個小介面」,這樣做的好處很明顯,我不知道有沒有必要再繼續描述了,為了節省篇幅,實際上我對這些原則只是做了一個小總結,如果有需要更深入了解的話推薦看《Java與模式》,MS MVP的一本巨作!^_^
5) Composition/Aggregation Reuse Principle(CARP),設計者首先應當考慮復合/聚合,而不是繼承(因為它很直觀,第一印象就是「哦,這個就是OO啊」)。這個就是所謂的「Favor Composition over Inheritance」,在實踐中復合/聚合會帶來比繼承更大的利益,所以要優先考慮。
6) Law of Demeter or Least Knowlegde Principle(LoD or LKP),迪米特法則或最少知識原則,這個原則首次在Demeter系統中得到正式運用,所以定義為迪米特法則。它講的是「一個對象應當盡可能少的去了解其他對象」。也就是又一個關於如何松耦合(Loosely-Coupled)的法則。
設計模式:
1)適配器模式
http://eneasy.javaeye.com/blog/174838
2)橋接器模式
http://eneasy.javaeye.com/blog/174892
3)職責鏈模式
http://eneasy.javaeye.com/blog/174906
4)命令模式
http://eneasy.javaeye.com/blog/174896
5)裝飾器模式
http://eneasy.javaeye.com/blog/174840
6)外觀模式
http://eneasy.javaeye.com/blog/174890
7)工廠模式
http://eneasy.javaeye.com/blog/174831
8)享元模式
http://eneasy.javaeye.com/blog/174891
9)代理模式
http://eneasy.javaeye.com/blog/174887
10)單例模式
http://eneasy.javaeye.com/blog/174829
11)狀態模式
http://eneasy.javaeye.com/blog/174897
12)策略模式
http://eneasy.javaeye.com/blog/174894
13)模板模式
http://eneasy.javaeye.com/blog/174893
14)訪問者模式
http://eneasy.javaeye.com/blog/174914

『肆』 鏈夊摢浜涗紭縐鐨凧ava寮婧愰」鐩鏈鍊煎緱闃呰伙紵


鎺㈢儲Java涓栫晫涓鐨勭拃鐠ㄥ紑婧愬疂鈃忥紒鍦ㄨ繖涓鍏呮弧鍒涙柊涓庣煡璇嗙殑嫻鋒磱閲岋紝鎴戜滑綺懼績鎸戦変簡涓緋誨垪欏剁駭Java寮婧愰」鐩錛屽畠浠涓嶄粎涓哄︿範鑰呮彁渚涗簡瀹濊吹鐨勮祫婧愶紝鏇存槸宸ョ▼甯堜滑鎻愬崌鎶鑳姐佽В鍐沖疄闄呴棶棰樼殑寰楀姏鍔╂墜銆備互涓嬫槸鍏朵腑鐨勭簿鍗庢帹鑽愶紝娑電洊浜嗕粠鍩虹鍒拌繘闃訛紝鍐嶅埌瀹炴垬搴旂敤鐨勫叏鏂逛綅鍐呭癸細



鍒蹇樹簡錛屼負榪欎簺欏圭洰鐨勮礎鐚鑰呯偣璧炲拰鍒嗕韓浣犵殑鍙戠幇錛岃╂洿澶氫漢鍙楃泭銆傝╂垜浠涓璧峰湪榪欎簺寮婧愰」鐩涓瀵繪壘鍒涙柊鐏墊劅鍜屾彁鍗囪嚜宸辯殑鏈轟細錛



榪欎簺寮婧愰」鐩鏄疛ava寮鍙戣呬滑鐨勫疂鈃忥紝瀹冧滑涓嶄粎鎻愪緵浜嗕赴瀵岀殑瀛︿範璧勬簮錛岃繕灞曠ず浜嗕笟鐣屾渶浣沖疄璺點傛寔緇鍏蟲敞錛屼笉鏂鎺㈢儲錛岃╁畠浠鎴愪負浣犳彁鍗囩紪紼嬫妧鑳界殑鏈夊姏浼欎即銆

『伍』 java中的設計模式有什麼作用啊

快速開發

設計模式(Design pattern)是一套被反復使用、多數人知曉的、經過分類回編目的、代碼答設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。 毫無疑問,設計模式於己於他人於系統都是多贏的;設計模式使代碼編制真正工程化;設計模式是軟體工程的基石脈絡,如同大廈的結構一樣。
總體來說設計模式分為三大類:
創建型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。
結構型模式,共七種:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。
行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。

『陸』 eclipse怎麼進行 可視化java界面設計

進行eclipse可視化java界面設計步驟如下:

閱讀全文

與javadesign相關的資料

熱點內容
c好看的登陸界面代碼 瀏覽:622
系統自帶信息非默認程序 瀏覽:668
網站有專利兩個字被罰要多少錢 瀏覽:84
手機儲存文件的路徑 瀏覽:771
三作標需要什麼文件格式 瀏覽:585
該應用與手機中的版本簽名不一致 瀏覽:239
linux文件命名 瀏覽:480
win10如何開游戲模式 瀏覽:622
hacknet創建文件夾 瀏覽:730
什麼語言做app 瀏覽:922
應用數據哪些可清理 瀏覽:976
數據區域下移一行該怎麼辦 瀏覽:679
華為賬號用qq注冊賬號 瀏覽:327
台達plc編程完成怎麼試運行 瀏覽:412
華為b137升級包下載 瀏覽:992
美團發布數據報告去哪裡看 瀏覽:146
js的隱藏div顯示 瀏覽:637
ps教程圖片轉換為粉筆字 瀏覽:816
下載網易雲音樂最新版本 瀏覽:165
原神的數據文件指什麼 瀏覽:725

友情鏈接