以不同語言閱讀: zh , ko , fr , tr , ar , es , pt , id , ru , de , ja , vi , bn , np , it , da
設計模式是程式設計師在設計應用程式或系統時可以用來解決常見問題的最佳、形式化實踐。
設計模式可以透過提供經過測試、驗證的開發範例來加速開發流程。
重複使用設計模式有助於防止導致重大問題的細微問題,並且還可以提高熟悉模式的程式設計師和架構師的程式碼可讀性。
該網站展示了 Java 設計模式。這些解決方案是由來自開源社群的經驗豐富的程式設計師和架構師開發的。可以透過其高級描述或查看其原始程式碼來瀏覽這些模式。原始碼範例有很好的註釋,可以被視為有關如何實現特定模式的程式教程。我們使用最受歡迎且經過驗證的開源 Java 技術。
在深入學習本資料之前,您應該熟悉各種軟體設計原則。
所有的設計都應該盡量簡單。您應該從 KISS、YAGNI 和做可能有效的最簡單的事情原則開始。僅當實際可擴展性需要時才應引入複雜性和模式。
一旦您熟悉了這些概念,您就可以透過以下任一方法開始深入研究可用的設計模式:
Performance
、 Gang of Four
或Data access
等標籤。Creational
、 Behavioral
等。希望您發現本網站上提供的物件導向的解決方案對您的體系結構很有用,並像我們在開發它們時一樣享受學習它們的樂趣。
如果您願意為該專案做出貢獻,您可以在我們的開發者維基中找到相關資訊。我們將在 Gitter 聊天室中為您提供協助並回答您的問題。
這些設計模式現已作為電子書提供。在這裡了解有關「開源 Java 設計模式」的更多資訊:https://payhip.com/b/kcaF9
專案貢獻者可以免費獲得這本書。透過 Gitter 聊天室或電子郵件 (iluwatar (at) gmail (dot) com ) 聯絡維護人員。發送一條訊息,其中包含您的電子郵件地址、Github 用戶名以及已接受拉取請求的連結。
該項目根據 MIT 許可證條款獲得許可。
伊爾卡·塞帕拉 ? ? ? | 蘇布羅迪普·莫漢塔 ? ? | 阿米特1307 | 莫迪泰 ? ? | 傑羅恩·穆勒梅斯特 | 約瑟夫·麥卡錫 |
湯瑪斯 | 阿努拉格·阿加瓦爾 | 馬庫斯·莫澤 ? ? | 薩比克·伊哈布 | 阿米特·迪克西特 | 皮尤什·凱拉什·喬杜里 |
喬許桑巴萊斯 | 卡米爾·彼得魯斯卡 | 紮法爾·海達羅夫 | 保羅·坎貝爾 | 阿吉羅·西奧齊烏 | 泰勒麥康維爾 |
薩克斯沙姆93 | 尼基爾巴拉爾 | 科林·布特 | 魯斯蘭 | 薑柱浩 | 迪拉吉·穆馬雷迪 |
貝爾納多·蘇爾茨巴赫 | 亞歷山大杜杜科維奇 | 優素福·艾塔斯 | 米哈伊·庫普里維茨 | 斯坦尼斯拉夫·卡皮努斯 | GV夏爾馬 |
斯丹·保諾維奇 | 彼得羅斯·西德里斯 | 普拉莫德·古普塔 ? | 阿瑪納特·昌達納 | 阿努拉格870 | 韋斯·吉勒蘭 |
哈什拉吉·塔科爾 | 馬丁范登布斯切 | 亞歷山德魯·索邁 | 阿圖爾·莫戈佐夫 | 安東尼 | 克里斯蒂安·西格納斯 |
迪瑪·古賓 | 約書亞·希門尼斯 | 凱溫特 | 布羅曼 | 普熱梅克 | 普拉夫·阿加瓦爾 ? |
桑克特·潘哈勒 ? | 斯塔耶布瓦 | 克里斯蒂安·納吉 | 亞歷山大·伊凡諾夫 | 尤斯菲克·阿爾卡德里 | 阿古斯蒂·貝塞拉·米拉 |
胡安·曼努埃爾·蘇亞雷斯 | 路易吉·科蒂斯 | 卡塔齊娜·熱佩卡 | 亞當斯基專業版 | 白勝利 | 鮑里斯 |
德米特里·阿維辛 | 靳陽 | 黃南2261 | 阿爾皮特·賈因 | 喬恩·英吉·斯文比約恩松 | 基里爾·弗拉索夫 |
米切爾·歐文 | 蘭吉特 | 葉鳳祥 | M賽義夫·阿西夫 | 坎瓦爾普雷特25 | 麥立昂 |
佩爾·沃德馬克 | 夏偉軒 | 阿那加·薩西庫瑪 | 克里斯多福·漢伯格 | 多米尼克·格倫茨 | 漢內斯 |
裡奧·古鐵雷斯·拉米雷斯 | 張偉文 | 克里斯多福·奧康奈爾 | 喬治·馬夫羅伊迪斯 | 赫曼特·博特拉 ? | 凱文彼得斯 |
喬治·阿里斯蒂 | 馬亨德蘭·穆克基亞 | 阿祖雷吉特 | 甘斯 | 馬特 ? | 戈皮納斯·蘭格特 |
霍斯威 | 阿米特·潘迪 | 古維爾多28 ? | 田浩 ? | 斯塔馬蒂斯·皮西奧斯 | 克札 |
魯道夫·福特 ? | 安庫爾·考沙爾 | 奧維迪尤斯·奧金斯卡斯 | 羅伯特·卡斯帕奇克 | 塔皮奧勞托寧 | 尤里·奧洛夫 |
瓦倫‧烏帕迪亞 | 阿迪亞·帕爾 | 格熱謝克濟奧爾 ? | 西瓦蘇布拉馬尼 M | 薩米·艾拉克西寧 | 珍妮·西尼維爾塔 |
鮑里斯-周成標 ? | 雅各海因 ? | 理查瓊斯 ? | 雷切爾·M·卡梅納 ? | 扎拉爾德·丹澤·朗格斯 ? | 拉爾斯·卡佩特 ? |
劉麥克 ? | 馬特多蘭 ? | 馬南 ? | 尼尚阿羅拉 | 佩尤什 | 拉凱什 ? |
偉僧 | 阿什什·特里維迪 | 洪月陽 | xdvrx1 ? ? | 貝森·帕爾默 | 有毒夢z |
鄭伊迪 | 米哈烏·克日萬斯基 | 史特凡·伯克納 | 費多·斯克沃爾科夫 | 薩米爾·阿尤布 | 弗拉季斯拉夫·戈魯賓諾夫 |
斯瓦拉傑 | 克里斯多福·弗利克 | 阿森尼奧 ? | 多梅尼科·西比利奧 | 阿卡什·錢德瓦尼 ? | 帕夫洛·曼尼科夫 |
艾曼 | 洛奇 | 易卜拉欣·阿里·阿卜杜勒加尼 ? | 吉里什·庫爾卡尼 | 奧馬爾·卡拉宗 | 傑夫·埃文斯 |
維韋克·辛格 | 西亞瓦什 | 皺褶花生 | 扭曲125 ? | 卡迪爾·塔伊布 ? | 點燃1771 |
哈利爾·德米爾 ? | 羅希特·辛格 | 並州94 | 穆斯塔法·法哈特 ? | 馬特爾理查德 | VA1m |
諾姆·格林斯坦 | 徐永紅 | 吉尼什沃拉 ? | 艾維斯·蘇亞雷斯 | 智腦 | 餘林穎 ? |
阿蘭 ? | 虛擬實境 | 傑基·尼姆 | 愛迪生E3 | 濤 | 胡安·曼努埃爾·阿巴特 ? |
西尼洛137 | 塞繆爾·蘇薩 | 馬洛·恩里克 ? | 安德烈·皮日 | 卡蒂克巴特13 | 莫爾泰扎·阿迪戈薩爾普爾 |
納加拉吉·坦特里 | 弗朗西斯科·斯庫奇馬裡 | 康尼漢森 | 穆克拉斯·拉赫曼托 ? | 瓦迪姆 ? | 西姆蘭·凱什裡 |
卡洛斯 ? | 阿里·加塞米 | 卡爾·迪亞 | 莫札特 ? | 曼維·戈爾 | 阿努姆·阿明 |
上原麗雄 ? | 菲爾迪 | 哈沙爾 | 阿比納夫·瓦西斯 | 凱文 ? | 許裡朗 ? |
與ankush互動 | 於查理 | 萊斯特貝克爾 | 龍夢者 | 希萬什·查拉克 | 服部變三 |
阿爾納布·森 | 莫哈納·拉奧 SV | 尤納坦·卡普-魯丁 ? | 奧利亞尼 | 劉仁傑 | 完美的人 |
xylq999 | 穆罕默德·比拉勒 | 卡希爾·謝斯 | 孔令86 | 艾托·菲達爾戈·桑切斯 ? ? | 何維克多 |
阮明 ? | 何維克多 | 一禪 | 泛掃描電子顯微鏡 | 周孟傑克斯 | 你 ? |
謝謝 ? | 懶惰程式設計師 | 穆罕默德·費贊·艾哈邁德 | 布魯諾費爾南德斯 | 薩曼巴利語 | 陳啟祥 |
舒爾亞·馬內卡 ? | 艾倫 ? | 簡·費多爾 | 安東·雅庫托維奇 | 史蒂芬88SS | 尤詹·蘭吉特卡 ? |
玉紗-g ? | 羅伯特·福克曼 ? | 比平·庫馬爾·查烏拉西亞 | 凱爾宋30 | u7281975 | 哈薩爾卡恰內 |
特賈斯·辛格 ? | 蘇達桑·巴拉吉 | 瓦伊巴夫·阿格拉瓦爾 | u7275858 | 普拉薩德-333 | 徐舉人 |
墨菲·肖 | 賢舞99 | JoshuaSingla澳洲國立大學 | 里卡多·拉莫斯 ? | 法里德·佐海爾 ? | 維尼修斯AB ? |
斯特凡內爾·斯坦 | 巴蒂王子 ? | 五郎 | 雨果凱特 | 希瓦納古達·阿加西馬尼 | 阿帕納 |
吉羅拉莫·佐丹奴 ? | 查克-C | 納庫爾·南比亞爾 | 噶瑪札西貓 ? | 馬里卡特 | 哈什瓦爾丹·帕爾瑪 ? |
容煥 ? | 飛驒正吾 ? | 尤金 | 皮尤什 | 拉胡爾·拉傑 | 巴拉特·卡延 S |
賽蒂賈·雷迪 ? | 恩里克·克萊里奇 ? | 拉米爾·薩耶托夫 ? | 東方未白 | 弗雷德里克·瑟爾 ? | 阿克沙塔羅拉0013 |
穆吉斯·卡西姆 | 快樂李 ? | 阿尤什·塔庫爾 ? | 安東尼·博斯 | 特拉南索 | 賈瑪利亞·比菲 ? |
賽義夫·哈克 | 雅比茲釀酒廠 | 康斯坦丁‧戈德曼 | 前阮明 ? | 弗拉基米爾 ? | 蘇爾傑杜 ? |
巴卡洲 | 梁歐文 | 斯塔夫羅斯·巴魯西斯 | 賽義德·易卜拉欣·阿卜杜拉 ? | 張家迪 ? | 桑吉特·班薩爾 |
賽義夫·伊斯蘭 | 安東尼奧·阿迪奧 | 阿拉加達·賽·烏彭德拉納特 | 馬修斯·布拉加 ? | 阿帕里·薩蒂亞·巴爾加夫 | 馬塞爾·裡貝羅-丹塔斯 |
穆罕默德·哈尼夫·阿姆魯拉 ? | 傑克H408 | 舒巴姆 ? | 尼尚賈因 | 瑞塔姆·喬杜里 | 趙傑275 |
萊昂納多·利桑蒂 ? | 葉妮弗·埃雷拉 ? ? | 金牛n ? | 米格爾·安赫爾·佩雷斯·加西亞 ? ? | 蘇萬桑卡賈 ? | 阿洛克 |
丹尼爾里斯本 ? | 薩姆·鮑威爾 | 若昂·費爾南德斯 ? | 洪建義 ? | 多克桑比爾 ? | 頌歌3ll3 ? |
權容煥 | 雅庫布·克里梅克 | 相信 ? | 蛋0102030405 ? | 韋德·阿索萊 | 新晨報 ? |
資深老萌新 ? | 全承煥 ? | 蘇加瓦內什 | 芬恩S-F | 傑瑞美味 ? | 馬諾傑·喬達裡 |
阿迪亞 | 努伊奈爾 | 網路關鍵2 | 路易斯·馬特奧·欣卡皮埃·馬丁內斯 ? ? | 古琴 | 薩希爾·埃斯特拉 |
奧瑪斯 | 萊夫·E. | 康俊 | 基沙拉·潘迪 | 德里什蒂7 | 大衛·梅迪納·奧羅斯科 ? ? |
羅曼‧萊昂特夫 | 萊利 | k1w1dev | 開發尤甘塔爾 | 阿德利亞 | 加特拉納加普拉薩納 |
阿維納什·舒克拉 | 瑪雅克·喬杜里 | 羅曼尼茨 | 喬爾 | 瓦利森·莫伊塞斯 | 西西克 |
里塔布拉塔 ? | 特里維克拉姆·卡瑪特 | 文森範蓋勒 ? | 安托萬·埃里蒂埃 ? | 沁淋 ? | LakshyaPunyani-01 |
賈森朱 | 傑夫莫里森 | 大衛M。 | 派崔克‧克萊因丁斯特 | 朱淵 ? | 馬梅德·亞哈耶夫 |
薩爾瑪 | 阿爾皮特薩朗 | 瑪雅人 ? |