java-design-patterns - 设计模式Java版

Created at: 2014-08-10 00:45:18
Language: Java
License: NOASSERTION

在 Java 中实现的设计模式

爪哇 CI  MIT 许可证 代码行数 覆盖 加入 https://gitter.im/iluwatar/java-design-patterns 聊天

所有贡献者


用不同的语言阅读:zhkofrtraresptidrudejavibnnpit

介绍

设计模式是程序员在设计应用程序或系统时可以用来解决常见问题的最佳形式化实践。

设计模式可以通过提供经过测试、经过验证的开发范例来加快开发过程。

重用设计模式有助于防止导致重大问题的细微问题,还可以提高熟悉模式的编码人员和架构师的代码可读性。

开始

这个网站展示了Java设计模式。这些解决方案由来自开源社区的经验丰富的程序员和架构师开发。可以通过高级描述或查看其源代码来浏览模式。源代码示例有很好的注释,可以被认为是有关如何实现特定模式的编程教程。我们使用最流行的经过实战验证的开源 Java 技术。

在深入研究材料之前,你应该熟悉各种软件设计原则

所有设计都应尽可能简单。你应该从KISS,YAGNI开始,做最简单的事情可能可行的原则。仅当实际扩展性需要复杂性和模式时,才应引入它们。

熟悉这些概念后,可以通过以下任一方法开始向下钻取可用的设计模式

  • 按名称搜索特定模式。找不到?请在此处报告新模式。
  • 使用标记,例如 、 或 。
    Performance
    Gang of Four
    Data access
  • 使用模式类别、、、 等。
    Creational
    Behavioral

希望你发现此站点上提供的面向对象解决方案对你的体系结构有用,并且学习它们时会像我们在开发它们时一样有趣。

如何贡献

如果你愿意为该项目做出贡献,你可以在我们的开发者维基中找到相关信息。我们将在 Gitter 聊天室中为你提供帮助并回答你的问题。

许可证

该项目根据 MIT 许可证的条款进行许可。

贡献

Ilkka Seppälä
Ilkka seppälä

📆 🚧 🖋
苏布罗迪普·莫汉塔
苏布罗迪普·莫汉塔

💻 👀 🚧
阿米特1307
阿米特1307

💻
纳伦德拉·帕泰
纳伦德拉·帕泰

💻 🤔 👀
杰罗恩·默勒米斯特
杰罗恩·默勒米斯特

💻
约瑟夫·麦卡锡
约瑟夫·麦卡锡

💻
托马斯
托马斯

💻
阿努拉格·阿加瓦尔
阿努拉格·阿加瓦尔

💻
马库斯·莫泽
马库斯·莫泽

🎨 💻 🤔
萨比克·伊哈布
萨比克·伊哈布

💻
阿米特·迪克西特
阿米特·迪克西特

💻
皮尤什·凯拉什·乔达里
皮尤什·凯拉什·乔达里

💻
乔什赞巴莱斯
乔什赞巴莱斯

💻
卡米尔·皮特鲁什卡
米尔·皮特鲁什卡

💻
扎法尔·海达罗夫
扎法尔·海达罗夫

💻 📖
保罗·坎贝尔
保罗·坎贝尔

💻
阿吉罗·西奥齐乌
阿吉罗·西奥齐乌

💻
泰勒·麦康维尔
泰勒·麦康维尔

💻
萨克舍姆93
萨克舍姆93

💻
尼基尔巴拉尔
尼基尔巴拉尔

💻
科林·
科林·

💻
鲁斯兰
鲁斯兰

💻
康巨禾

💻巨禾
迪拉吉·穆马雷迪
迪拉吉·穆马雷迪

💻
贝尔纳多·苏尔茨巴赫
贝尔纳多·苏尔茨巴赫

💻
亚历山大·杜杜科维奇
亚历山大·杜杜科维奇

💻
优素福·艾塔斯
优素福·艾塔斯

💻
米哈伊·库普里维茨
米哈伊·库普里维茨

💻
斯坦尼斯拉夫·卡皮努斯
斯坦尼斯拉夫·卡皮努斯

💻
GVSharma
GVSharma

💻
斯尔丹·保诺维奇
斯尔丹·保诺维奇

💻
彼得罗斯·西德里斯
彼得罗斯·西德里斯

💻
普拉莫德·古普塔
普拉莫德·古普塔

👀
阿玛纳特·钱达纳
阿玛纳特·钱达纳

💻
阿努拉格870
阿努拉格870

💻 📖
韦斯·吉兰
韦斯·吉兰

💻
哈什拉吉·塔科尔
哈什拉吉·塔科尔

💻
马丁·范登布斯切
马丁·范登布斯切

💻
亚历山德鲁·索迈
亚历山德鲁·索迈

💻
阿图尔·莫戈佐夫
阿图尔·莫戈佐夫

💻
安东尼
安东尼

💻
克里斯蒂安·天鹅座
克里斯蒂安·天鹅座

💻
迪马古宾
迪马古宾

💻
约书亚·希门尼斯
约书亚·希门尼斯

💻
凯温特
凯温特

💻
贝尔罗曼
贝尔罗曼

💻
普热梅克
普热梅克

💻
普拉富阿加瓦尔
普拉富阿加瓦尔

🖋
桑克特潘哈尔
桑克特潘哈尔

🖋
斯泰勒布瓦
斯泰勒布瓦

💻
克里斯蒂安·纳吉
克里斯蒂安·纳吉

💻
亚历山大·伊万诺夫
亚历山大·伊万诺夫

💻
约斯菲克·阿尔卡德里
约斯菲克·阿尔卡德里

💻
阿古斯蒂·贝塞拉·米拉
阿古斯蒂·贝塞拉·米拉

💻
胡安·曼努埃尔·苏亚雷斯
胡安·曼努埃尔·苏亚雷斯

💻
路易吉·科尔特斯
路易吉·科尔特斯

💻
卡塔日娜·热佩卡
塔日娜·热佩卡

💻

💻 adamski.pro
adamski.pro
白胜利
白胜利

💻
鲍里斯
鲍里斯

💻
德米特里·阿维申
德米特里·阿维申

💻
靳阳
靳阳

💻
晃南2261
晃南2261

💻
阿皮特耆那教
阿皮特耆那教

💻
Jón Ingi Sveinbjörnsson
Jón Ingi Sveinbjörnsson

💻
基里尔·弗拉索夫
基里尔·弗拉索夫

💻
米切尔·欧文
米切尔·欧文

💻
兰吉特
兰吉特

💻
叶凤凰

💻凤凰
赛义夫·阿西夫
赛义夫·阿西夫

💻
坎瓦尔普雷特25
坎瓦尔普雷特25

💻
麦磊
麦磊

💻
每弗拉姆德马克
每弗拉姆德马克

💻
埃文·西亚·怀苏安
埃文·西亚·怀苏安

💻
阿纳加·萨西库马尔
阿纳加·萨西库马尔

💻
克里斯托弗·汉伯格
克里斯托弗·汉伯格

💻
多米尼克·格伦茨
多米尼克·格伦茨

💻
汉内斯
汉内斯

💻
利奥·古铁雷斯·拉米雷斯
利奥·古铁雷斯·拉米雷斯

💻
张文华
张文华

💻
克里斯托弗·奥康奈尔
克里斯托弗·奥康奈尔

💻
乔治·马夫罗伊迪斯
乔治·马夫罗伊迪斯

💻
赫曼特·博特拉
赫曼特·博特拉

💻 🎨
凯文·彼得斯
凯文·彼得斯

💻
乔治·阿里斯蒂
乔治·阿里斯蒂

💻
马亨德兰·穆基亚
马亨德兰·穆基亚

💻
Azureyjt
Azureyjt

💻
甘斯
甘斯

💻
马 特
马 特

🖋
戈皮纳特·朗格特
戈皮纳特·朗格特

💻
霍斯威
霍斯威

💻
阿米特·潘迪
阿米特·潘迪

💻
格维尔多28
格维尔多28

🖋
田浩
田浩

🖋
Stamatis Pitsios
Stamatis Pitsios

💻
卡扎
卡扎

💻
鲁道夫·福特
鲁道夫·福特

🖋
安库尔·考沙尔
安库尔·考沙尔

💻
Ovidijus Okinskas
Ovidijus Okinskas

💻
罗伯特·卡斯佩奇克
罗伯特·卡斯佩奇克

💻
塔皮奥·罗托宁
塔皮奥·罗托宁

💻
尤里·奥尔洛夫
尤里·奥尔洛夫

💻
瓦伦·乌帕德亚伊
瓦伦·乌帕德亚伊

💻
阿迪亚帕尔
阿迪亚帕尔

💻
grzesiekkedzior
grzesiekkedzior

💻 👀
西瓦苏布拉马尼 M
西瓦苏布拉马尼 M

💻
萨米·艾拉克西宁
萨米·艾拉克西宁

💻
珍妮·西尼维尔塔
珍妮·西尼维尔塔

💻
鲍里斯-周成彪
鲍里斯-周

🖋成彪
雅各布·海因
雅各布·海因

🖋
理查德·琼斯
理查德·琼斯

🖋
雷切尔·卡梅纳
雷切尔·卡梅纳

🖋
扎拉尔德·丹泽·伦戈斯
扎拉尔德·丹泽·伦戈斯

🖋
拉尔斯·卡佩特
拉尔斯·卡佩特

🖋
刘炳强

🌍炳强
马特·多兰
马特·多兰

💻 👀
马南
马南

👀
尼桑特·阿罗拉
尼桑特·阿罗拉

💻
皮尤什
皮尤什

💻
拉克什
拉克什

💻 👀
魏生
魏生

💻
阿希什·特里维迪
阿希什·特里维迪

💻
洪月阳
洪月阳

💻
xdvrx1
xdvrx1

👀 🤔
贝森·帕尔默
贝森·帕尔默

💻
有毒的梦
有毒的梦

💻
伊迪·库·宗
伊迪·库·宗

📖
米哈乌·克日万斯基
米哈乌·克日万斯基

💻
斯特凡·伯克纳
斯特凡·伯克纳

💻
费多尔·斯克沃尔科夫
费多尔·斯克沃尔科夫

💻
萨米拉尤布
萨米拉尤布

💻
弗拉迪斯拉夫·戈卢比诺夫
弗拉迪斯拉夫·戈卢比诺夫

💻
斯瓦拉吉
斯瓦拉吉

💻
克里斯托夫·弗利克
克里斯托夫·弗利克

📖
阿斯切尼奥
阿斯切尼奥

👀
多梅尼科·西比利奥
多梅尼科·西比利奥

📖
阿卡什·钱德瓦尼
阿卡什·钱德瓦尼

👀
帕夫洛·马南尼科夫
帕夫洛·马南尼科夫

💻
艾曼
艾曼

💻
岩石
岩石

📖
易卜拉欣·阿里·阿卜杜勒加尼
易卜拉欣·阿里·阿卜杜勒加尼

👀
吉里什·库尔卡尼
吉里什·库尔卡尼

📖
奥马尔·卡拉祖恩
奥马尔·卡拉祖恩

💻
杰夫·埃文斯
杰夫·埃文斯

💻
维韦克·辛格
维韦克·辛格

💻
西亚瓦什
西亚瓦什

💻
芸香花生
芸香花生

📖
经线125
经线125

🌍
卡迪尔·塔耶布
卡迪尔·塔耶布

🌍
点燃1771
点燃1771

💻
哈利勒·德米尔
哈利勒·德米尔

🌍
罗希特·辛格
罗希特·辛格

💻
炳菊94
炳菊94

💻
穆斯塔法·法哈特
穆斯塔法·法哈特

🌍
马特尔·理查德
马特尔·理查德

💻
va1m
va1m

💻
诺姆·格林施坦
诺姆·格林施坦

💻
徐永红

📖永红
吉尼沙沃拉
吉尼沙沃拉

👀 💻
埃尔维斯·苏亚雷斯
埃尔维斯·苏亚雷斯

💻
zWeBrain
zWeBrain

💻
余林颖
余林颖

🌍
阿兰
阿兰

🌍
虚拟现实
虚拟现实

📖
杰基尼姆
杰基尼姆

💻
爱迪生E3
爱迪生E3

💻
道

💻
胡安·曼努埃尔·阿巴特
胡安·曼努埃尔·阿巴特

🌍
赛尼洛137
赛尼洛137

💻
塞缪尔·索萨
塞缪尔·索萨

💻
马洛·恩里克
马洛·恩里克

🌍
安德烈·皮日
安德烈·皮日

💻
卡蒂克巴特13
卡蒂克巴特13

💻
Morteza Adigozalpour
Morteza Adigozalpour

💻
纳加拉吉·坦特里
纳加拉吉·坦特里

💻
弗朗切斯科·斯库奇马里
弗朗切斯科·斯库奇马里

💻
康妮·汉森
康妮·汉森

📖
穆克拉斯·拉赫曼托
穆克拉斯·拉赫曼托

🌍
瓦迪姆
瓦迪姆

🌍
西姆兰·凯什里
西姆兰·凯什里

💻
贾洛斯
贾洛斯

🌍
阿里·加塞米
阿里·加塞米

💻
卡尔·迪亚
卡尔·迪亚

💻
莫扎图
莫扎图

🌍
曼维·戈尔
曼维·戈尔

📖
阿努姆·阿明
努姆·阿明

📖
上原玲夫
上原

🌍玲夫
峡湾
峡湾

📖
哈沙尔
哈沙尔

💻
阿比纳夫·瓦希斯
阿比纳夫·瓦希斯

📖
凯文
凯文

👀 💻
什里朗
什里朗

👀 💻
与安库什互动
与安库什互动

💻
俞查理

💻查理
莱丹贝克
莱丹贝克

💻
龙梦想家
龙梦想家

💻
希万什查拉克
希万什查拉克

💻
服部恒藏
服部恒藏

💻
阿纳布·森
阿纳布·森

💻
莫哈纳拉奥 SV
莫哈纳拉奥 SV

💻
约纳坦·卡普-鲁丁
约纳坦·卡普-鲁丁

💻 👀
奥利亚尼
奥利亚尼

💻
刘仁杰

💻仁杰
完美男士
完美男士

📖
木耳q999
木耳q999

💻
穆罕默德·比拉尔
穆罕默德·比拉尔

📖
卡希尔·谢斯
卡希尔·谢斯

💻
孔龙86
孔龙86

💻
艾托尔·菲达尔戈·桑切斯
艾托尔·菲达尔戈·桑切斯

🌍 📖 👀
何磊
何磊

💻
明阮
明阮

🌍 📖
何磊
何磊

📖
宜禅
宜禅

📖
潘森
潘森

📖
周梦吉克人
周梦吉克人

💻
你

🌍
谢谢
谢谢

🌍
懒惰程序员
懒惰程序员

📖
穆罕默德·法赞·艾哈迈德
穆罕默德·法赞·艾哈迈德

📖
布鲁诺·费尔南德斯
布鲁诺·费尔南德斯

💻
萨曼帕利
萨曼帕利

📖
陈启祥

📖启祥
舒里亚·马内卡尔
舒里亚·马内卡尔

🌍
艾伦
艾伦

🌍
扬菲多
扬菲多

💻 📖
安东·雅库托维奇
安东·雅库托维奇

💻
斯蒂芬88ss
斯蒂芬88ss

📖
尤詹·兰吉特卡
尤詹·兰吉特卡

🌍
尤沙-g
尤沙-g

🌍
罗伯特·福克曼
罗伯特·福克曼

💻 👀
比平·库马尔·乔拉西亚
比平·库马尔·乔拉西亚

📖
凯尔·宋30
凯尔·宋30

📖
u7281975
u7281975

📖
哈沙尔卡查内
哈沙尔卡查内

💻
特哈斯·辛格
特哈斯·辛格

📖 🌍
苏达桑巴拉吉
苏达桑巴拉吉

💻
瓦伊巴夫·阿格拉瓦尔
瓦伊巴夫·阿格拉瓦尔

📖
u7275858
u7275858

💻
普拉萨德-333
普拉萨德-333

📖
徐巨仁

💻巨仁
墨菲肖
墨菲肖

📖
仙武99
仙武99

📖
约书亚·辛格拉阿努
约书亚·辛格拉阿努

💻
里卡多·拉莫斯
里卡多·拉莫斯

🌍
法里德·祖海尔
法里德·祖海尔

🌍
维尼修斯·
维尼修斯·

🌍
斯蒂芬内尔·斯坦
斯蒂芬内尔·斯坦

💻
巴蒂王子
巴蒂王子

🌍
五郎
五郎

📖
雨果·凯特
雨果·凯特

💻
希瓦纳古达·阿加西马尼
希瓦纳古达·阿加西马尼

💻
阿帕纳
阿帕纳

💻
吉罗拉莫·佐丹奴
吉罗拉莫·佐丹奴

🌍
查克-C
查克-C

💻
纳库尔·南比亚尔
纳库尔·南比亚尔

💻
卡玛扎西猫
卡玛扎西猫

🌍
马里卡特
马里卡特

💻
哈什瓦尔丹·帕尔马
哈什瓦尔丹·帕尔马

🌍
永焕
永焕

📖 🌍
飞騨翔吾
飞騨翔吾

🌍
尤金
尤金

💻
皮尤什
皮尤什

📖