Skip to content

Latest commit

Β 

History

History
355 lines (330 loc) Β· 73.3 KB

README.md

File metadata and controls

355 lines (330 loc) Β· 73.3 KB

In Java implementierte Entwurfsmuster

Java CI License MIT Lines of Code Coverage Join the chat at https://gitter.im/iluwatar/java-design-patterns

All Contributors


In einer anderen Sprache lesen : zh, ko, fr, tr, ar, es, pt, id, ru, de, ja


EinfΓΌhrung

Entwurfschemas sind die besten formalisierten Praktiken, die ein Programmierer verwenden kann, um allgemeine Probleme beim Entwurf einer Anwendung oder eines Systems zu lΓΆsen.

Entwurfschemas kΓΆnnen den Entwicklungsprozess beschleunigen, indem sie getestete und bewΓ€hrte Entwicklungsparadigmen bereitstellen.

Die Wiederverwendung von Entwurfschemas hilft, subtile Fehler zu vermeiden, die grâßere Probleme verursachen kânnen, sowie die Lesbarkeit des Codes für Programmierer und Architekten zu verbessern, welche mit den Prinzipien der Entwurfsmuster vertraut sind.

Erste Schritte

Auf dieser Seite werden Java Entwurfschemas vorgestellt. Die LΓΆsungen wurden entwickelt von erfahrenen Programmierern und Architekten aus der Open-Source-Gemeinschaft. Die Schemas kΓΆnnen anhand ihrer ΓΌbergeordneten Beschreibungen oder anhand ihres Quellcodes durchsucht werden. Die Quellcode-Beispiele sind gut kommentiert und kΓΆnnen als Programmiertutorials zur Implementierung eines bestimmten Schemas angesehen werden. Wir verwenden die am besten bekannten und erprobtesten Open-Source Java-Technologien.

Bevor Sie in die Materie der Entwurfschemas eintauchen, sollten sie sich mit den verschiednen Software-Entwurfsprinzipien auseinandersetzen.

Alle EntwΓΌrfe sollten so einfach wie mΓΆglich gehalten werden. Sie sollten mit KISS, YAGNI, und Do The Simplest Thing That Could Possibly Work prinzipen anfangen. Komplexe Entwurfschemas sollen nur eingesetzt werden, wenn diese fΓΌr sinnvolle Erweiterungen benΓΆtigt werden.

Sobald sie mit diesen Konzepten vertraut sind, kΓΆnnen sie beginnen, sich mit den verfΓΌgbaren Entwurfschemas auseinanderzusetzen, durch einen der folgenden AnsΓ€tze

  • Nach einem bestimmten Schema anhand des Namens suchen. Sie kΓΆnnen keins finden? Bitte melden sie ein neues Schema hier.
  • Verwendung von Tags wie Performance, Gang of Four oder Data access.
  • Verwendung von Entwurfschema-Kategorien wie Creational, Behavioral und andere.

Hoffentlich finden sie die auf dieser Website vorgestellten objektorientierten Lâsungen für ihre Architekturen nützlich und dass sie genauso viel Spaß beim Lernen haben, wie wir bei ihrer Entwicklung hatten.

Wie man bei diesem Projekt mitwirken kann

Wenn sie zu dem Projekt beitragen wollen, finden sie die entsprechenden Informationen in unserem Entwickler-Wiki.mWir helfen Ihnen gerne und beantworten ihre Fragen im Gitter chatroom.

Lizenz

Dieses Projekt steht unter den Bedingungen der MIT-Lizenz.

Mitwirkende

Ilkka SeppΓ€lΓ€
Ilkka SeppΓ€lΓ€

πŸ“† 🚧 πŸ–‹
Subhrodip Mohanta
Subhrodip Mohanta

πŸ’» πŸ‘€ 🚧
amit1307
amit1307

πŸ’»
Narendra Pathai
Narendra Pathai

πŸ’» πŸ€” πŸ‘€
Jeroen Meulemeester
Jeroen Meulemeester

πŸ’»
Joseph McCarthy
Joseph McCarthy

πŸ’»
Thomas
Thomas

πŸ’»
Anurag Agarwal
Anurag Agarwal

πŸ’»
Markus Moser
Markus Moser

🎨 πŸ’» πŸ€”
Sabiq Ihab
Sabiq Ihab

πŸ’»
Amit Dixit
Amit Dixit

πŸ’»
Piyush Kailash Chaudhari
Piyush Kailash Chaudhari

πŸ’»
joshzambales
joshzambales

πŸ’»
Kamil Pietruszka
Kamil Pietruszka

πŸ’»
Zafar Khaydarov
Zafar Khaydarov

πŸ’» πŸ“–
Paul Campbell
Paul Campbell

πŸ’»
Argyro Sioziou
Argyro Sioziou

πŸ’»
TylerMcConville
TylerMcConville

πŸ’»
saksham93
saksham93

πŸ’»
nikhilbarar
nikhilbarar

πŸ’»
Colin But
Colin But

πŸ’»
Ruslan
Ruslan

πŸ’»
Juho Kang
Juho Kang

πŸ’»
Dheeraj Mummareddy
Dheeraj Mummareddy

πŸ’»
Bernardo Sulzbach
Bernardo Sulzbach

πŸ’»
Aleksandar Dudukovic
Aleksandar Dudukovic

πŸ’»
Yusuf Aytaş
Yusuf Aytaş

πŸ’»
MihΓ‘ly Kuprivecz
MihΓ‘ly Kuprivecz

πŸ’»
Stanislav Kapinus
Stanislav Kapinus

πŸ’»
GVSharma
GVSharma

πŸ’»
Srđan Paunović
Srđan Paunović

πŸ’»
Petros G. Sideris
Petros G. Sideris

πŸ’»
Pramod Gupta
Pramod Gupta

πŸ‘€
Amarnath Chandana
Amarnath Chandana

πŸ’»
Anurag870
Anurag870

πŸ’» πŸ“–
Wes Gilleland
Wes Gilleland

πŸ’»
Harshraj Thakor
Harshraj Thakor

πŸ’»
Martin Vandenbussche
Martin Vandenbussche

πŸ’»
Alexandru Somai
Alexandru Somai

πŸ’»
Artur Mogozov
Artur Mogozov

πŸ’»
anthony
anthony

πŸ’»
Christian Cygnus
Christian Cygnus

πŸ’»
Dima Gubin
Dima Gubin

πŸ’»
Joshua Jimenez
Joshua Jimenez

πŸ’»
Kai Winter
Kai Winter

πŸ’»
lbroman
lbroman

πŸ’»
Przemek
Przemek

πŸ’»
Prafful Agarwal
Prafful Agarwal

πŸ–‹
Sanket Panhale
Sanket Panhale

πŸ–‹
staillebois
staillebois

πŸ’»
KrisztiΓ‘n Nagy
KrisztiΓ‘n Nagy

πŸ’»
Alexander Ivanov
Alexander Ivanov

πŸ’»
Yosfik Alqadri
Yosfik Alqadri

πŸ’»
AgustΓ­ Becerra MilΓ 
AgustΓ­ Becerra MilΓ 

πŸ’»
Juan Manuel SuΓ‘rez
Juan Manuel SuΓ‘rez

πŸ’»
Luigi Cortese
Luigi Cortese

πŸ’»
Katarzyna Rzepecka
Katarzyna Rzepecka

πŸ’»
adamski.pro
adamski.pro

πŸ’»
Shengli Bai
Shengli Bai

πŸ’»
Boris
Boris

πŸ’»
Dmitry Avershin
Dmitry Avershin

πŸ’»
靳阳
靳阳

πŸ’»
hoangnam2261
hoangnam2261

πŸ’»
Arpit Jain
Arpit Jain

πŸ’»
JΓ³n Ingi SveinbjΓΆrnsson
JΓ³n Ingi SveinbjΓΆrnsson

πŸ’»
Kirill Vlasov
Kirill Vlasov

πŸ’»
Mitchell Irvin
Mitchell Irvin

πŸ’»
Ranjeet
Ranjeet

πŸ’»
PhoenixYip
PhoenixYip

πŸ’»
M Saif Asif
M Saif Asif

πŸ’»
kanwarpreet25
kanwarpreet25

πŸ’»
Leon Mak
Leon Mak

πŸ’»
Per Wramdemark
Per Wramdemark

πŸ’»
Evan Sia Wai Suan
Evan Sia Wai Suan

πŸ’»
AnaghaSasikumar
AnaghaSasikumar

πŸ’»
Christoffer Hamberg
Christoffer Hamberg

πŸ’»
Dominik Gruntz
Dominik Gruntz

πŸ’»
Hannes
Hannes

πŸ’»
Leo GutiΓ©rrez RamΓ­rez
Leo GutiΓ©rrez RamΓ­rez

πŸ’»
Zhang WH
Zhang WH

πŸ’»
Christopher O'Connell
Christopher O'Connell

πŸ’»
George Mavroeidis
George Mavroeidis

πŸ’»
Hemant Bothra
Hemant Bothra

πŸ’» 🎨
Kevin Peters
Kevin Peters

πŸ’»
George Aristy
George Aristy

πŸ’»
Mahendran Mookkiah
Mahendran Mookkiah

πŸ’»
Azureyjt
Azureyjt

πŸ’»
gans
gans

πŸ’»
Matt
Matt

πŸ–‹
Gopinath Langote
Gopinath Langote

πŸ’»
Hoswey
Hoswey

πŸ’»
Amit Pandey
Amit Pandey

πŸ’»
gwildor28
gwildor28

πŸ–‹
η”°ζ΅©
η”°ζ΅©

πŸ–‹
Stamatis Pitsios
Stamatis Pitsios

πŸ’»
qza
qza

πŸ’»
Rodolfo Forte
Rodolfo Forte

πŸ–‹
Ankur Kaushal
Ankur Kaushal

πŸ’»
Ovidijus Okinskas
Ovidijus Okinskas

πŸ’»
Robert Kasperczyk
Robert Kasperczyk

πŸ’»
Tapio Rautonen
Tapio Rautonen

πŸ’»
Yuri Orlov
Yuri Orlov

πŸ’»
Varun Upadhyay
Varun Upadhyay

πŸ’»
Aditya Pal
Aditya Pal

πŸ’»
grzesiekkedzior
grzesiekkedzior

πŸ’» πŸ‘€
Sivasubramani M
Sivasubramani M

πŸ’»
Sami Airaksinen
Sami Airaksinen

πŸ’»
Janne Sinivirta
Janne Sinivirta

πŸ’»
Boris-Chengbiao Zhou
Boris-Chengbiao Zhou

πŸ–‹
Jacob Hein
Jacob Hein

πŸ–‹
Richard Jones
Richard Jones

πŸ–‹
Rachel M. Carmena
Rachel M. Carmena

πŸ–‹
Zaerald Denze Lungos
Zaerald Denze Lungos

πŸ–‹
Lars Kappert
Lars Kappert

πŸ–‹
Mike Liu
Mike Liu

🌍
Matt Dolan
Matt Dolan

πŸ’» πŸ‘€
Manan
Manan

πŸ‘€
Nishant Arora
Nishant Arora

πŸ’»
Peeyush
Peeyush

πŸ’»
Rakesh
Rakesh

πŸ’» πŸ‘€
Wei Seng
Wei Seng

πŸ’»
Ashish Trivedi
Ashish Trivedi

πŸ’»
ζ΄ͺ月阳
ζ΄ͺ月阳

πŸ’»
xdvrx1
xdvrx1

πŸ‘€ πŸ€”
Bethan Palmer
Bethan Palmer

πŸ’»
Toxic Dreamz
Toxic Dreamz

πŸ’»
Edy Cu Tjong
Edy Cu Tjong

πŸ“–
MichaΕ‚ KrzywaΕ„ski
MichaΕ‚ KrzywaΕ„ski

πŸ’»
Stefan Birkner
Stefan Birkner

πŸ’»
Fedor Skvorcov
Fedor Skvorcov

πŸ’»
samilAyoub
samilAyoub

πŸ’»
Vladislav Golubinov
Vladislav Golubinov

πŸ’»
Swaraj
Swaraj

πŸ’»
Christoph Flick
Christoph Flick

πŸ“–
AscΓͺnio
AscΓͺnio

πŸ‘€
Domenico Sibilio
Domenico Sibilio

πŸ“–
Akash Chandwani
Akash Chandwani

πŸ‘€
Pavlo Manannikov
Pavlo Manannikov

πŸ’»
Eiman
Eiman

πŸ’»
Rocky
Rocky

πŸ“–
Ibrahim ali abdelghany
Ibrahim ali abdelghany

πŸ‘€
Girish Kulkarni
Girish Kulkarni

πŸ“–
Omar Karazoun
Omar Karazoun

πŸ’»
Jeff Evans
Jeff Evans

πŸ’»
Vivek Singh
Vivek Singh

πŸ’»
siavash
siavash

πŸ’»
ruchpeanuts
ruchpeanuts

πŸ“–
warp125
warp125

🌍
KHADIR Tayeb
KHADIR Tayeb

🌍
ignite1771
ignite1771

πŸ’»
Halil Demir
Halil Demir

🌍
Rohit Singh
Rohit Singh

πŸ’»
byoungju94
byoungju94

πŸ’»
Moustafa Farhat
Moustafa Farhat

🌍
Martel Richard
Martel Richard

πŸ’»
va1m
va1m

πŸ’»
Noam Greenshtain
Noam Greenshtain

πŸ’»
yonghong Xu
yonghong Xu

πŸ“–
jinishavora
jinishavora

πŸ‘€ πŸ’»
Elvys Soares
Elvys Soares

πŸ’»
zWeBrain
zWeBrain

πŸ’»
δ½™ζž—ι’–
δ½™ζž—ι’–

🌍
Alain
Alain

🌍
VR
VR

πŸ“–
JackieNim
JackieNim

πŸ’»
EdisonE3
EdisonE3

πŸ’»
Tao
Tao

πŸ’»
Juan Manuel Abate
Juan Manuel Abate

🌍
Xenilo137
Xenilo137

πŸ’»
Samuel Souza
Samuel Souza

πŸ’»
Marlo Henrique
Marlo Henrique

🌍
AndriyPyzh
AndriyPyzh

πŸ’»
karthikbhat13
karthikbhat13

πŸ’»
Morteza Adigozalpour
Morteza Adigozalpour

πŸ’»
Nagaraj Tantri
Nagaraj Tantri

πŸ’»
Francesco Scuccimarri
Francesco Scuccimarri

πŸ’»
Conny Hansson
Conny Hansson

πŸ“–
Muklas Rahmanto
Muklas Rahmanto

🌍
Vadim
Vadim

🌍
Simran Keshri
Simran Keshri

πŸ’»
JCarlos
JCarlos

🌍
Ali Ghasemi
Ali Ghasemi

πŸ’»
Carl Dea
Carl Dea

πŸ’»
Mozartus
Mozartus

🌍
Manvi Goel
Manvi Goel

πŸ“–
Anum Amin
Anum Amin

πŸ“–
Reo Uehara
Reo Uehara

🌍
Fiordy
Fiordy

πŸ“–
Harshal
Harshal

πŸ’»
Abhinav Vashisth
Abhinav Vashisth

πŸ“–
Kevin
Kevin

πŸ‘€ πŸ’»
Shrirang
Shrirang

πŸ‘€ πŸ’»
interactwithankush
interactwithankush

πŸ’»
CharlieYu
CharlieYu

πŸ’»
Leisterbecker
Leisterbecker

πŸ’»
DragonDreamer
DragonDreamer

πŸ’»
ShivanshCharak
ShivanshCharak

πŸ’»
HattoriHenzo
HattoriHenzo

πŸ’»
Arnab Sen
Arnab Sen

πŸ’»
MohanaRao SV
MohanaRao SV

πŸ’»
Yonatan Karp-Rudin
Yonatan Karp-Rudin

πŸ’» πŸ‘€
Oliani
Oliani

πŸ’»
Renjie LIU
Renjie LIU

πŸ’»
perfect guy
perfect guy

πŸ“–
xyllq999
xyllq999

πŸ’»
Mohamed Bilal
Mohamed Bilal

πŸ“–
Karshil sheth
Karshil sheth

πŸ’»
kongleong86
kongleong86

πŸ’»
Lucas Zischka
Lucas Zischka

🌍