以不同语言阅读: 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。 | 帕特里克·克莱因丁斯特 | 朱渊 ? | 马梅德·亚哈耶夫 |
萨尔玛 | 阿尔皮特萨朗 | 玛雅人 ? |