Skip to content

Latest commit

Β 

History

History
339 lines (316 loc) Β· 70 KB

README.md

File metadata and controls

339 lines (316 loc) Β· 70 KB

MαΊ«u thiαΊΏt kαΊΏ được hiện thα»±c bαΊ±ng Java

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

All Contributors


NgΓ΄n ngα»― khΓ‘c : zh, ko, fr, tr, ar, es, pt, id, ru, de, ja


Giα»›i thiệu

MαΊ«u thiαΊΏt kαΊΏ lΓ  phΖ°Ζ‘ng phΓ‘p tα»‘t nhαΊ₯t, được chuαΊ©n hΓ³a mΓ  mα»™t lαΊ­p trΓ¬nh viΓͺn cΓ³ thể sα»­ dα»₯ng để giαΊ£i quyαΊΏt cΓ‘c vαΊ₯n đề chung khi thiαΊΏt kαΊΏ mα»™t α»©ng dα»₯ng hoαΊ·c hệ thα»‘ng.

MαΊ«u thiαΊΏt kαΊΏ cΓ³ thể Δ‘αΊ©y nhanh quΓ‘ trΓ¬nh phΓ‘t triển bαΊ±ng cΓ‘ch cung cαΊ₯p cΓ‘c mΓ΄ hΓ¬nh Δ‘Γ£ được kiểm nghiệm, chα»©ng minh.

Việc sα»­ dα»₯ng lαΊ‘i cΓ‘c mαΊ«u thiαΊΏt kαΊΏ giΓΊp phΓ²ng ngα»«a cΓ‘c vαΊ₯n đề tiềm αΊ©n cΓ³ thể xαΊ£y ra vΓ  nΓ³ cΕ©ng cαΊ£i thiện khαΊ£ nΔƒng đọc hiểu mΓ£ nguα»“n cho cΓ‘c lαΊ­p trΓ¬nh viΓͺn vΓ  người thiαΊΏt kαΊΏ hệ thα»‘ng Δ‘Γ£ quen thuα»™c vα»›i cΓ‘c mαΊ«u Δ‘Γ³.

Mở Δ‘αΊ§u

Trang web nΓ y giα»›i thiệu cΓ‘c mαΊ«u thiαΊΏt kαΊΏ được hiện thα»±c bαΊ±ng Java. CΓ‘c giαΊ£i phΓ‘p nΓ y Δ‘Γ£ được phΓ‘t triển bởi cΓ‘c lαΊ­p trΓ¬nh viΓͺn vΓ  người thiαΊΏt kαΊΏ cΓ³ kinh nghiệm tα»« cα»™ng Δ‘α»“ng mΓ£ nguα»“n mở. BαΊ‘n cΓ³ thể tham khαΊ£o cΓ‘c mαΊ«u thΓ΄ng qua mΓ΄ tαΊ£ cαΊ₯p cao hoαΊ·c mΓ£ nguα»“n của chΓΊng. CΓ‘c mΓ£ nguα»“n mαΊ«u được giαΊ£i thΓ­ch Δ‘αΊ§y đủ vΓ  được coi lΓ  hΖ°α»›ng dαΊ«n trα»±c quan về cΓ‘ch triển khai mα»™t mαΊ«u thiαΊΏt kαΊΏ cα»₯ thể. ChΓΊng tΓ΄i cΕ©ng sα»­ dα»₯ng cΓ‘c cΓ΄ng nghệ Java nguα»“n mở Δ‘Γ£ được chα»©ng minh thα»±c chiαΊΏn phα»• biαΊΏn nhαΊ₯t.

TrΖ°α»›c khi Δ‘Γ o sΓ’u vΓ o tΓ i liệu, bαΊ‘n nΓͺn lΓ m quen vα»›i nhα»―ng quy tαΊ―c thiαΊΏt kαΊΏ.

TαΊ₯t cαΊ£ cΓ‘c thiαΊΏt kαΊΏ nΓͺn Δ‘Ζ‘n giαΊ£n nhαΊ₯t cΓ³ thể. BαΊ‘n nΓͺn bαΊ―t Δ‘αΊ§u vα»›i KISS, YAGNI, vΓ  LΓ m-Thα»©-ĐƑn-GiαΊ£n-NhαΊ₯t-MΓ -GiαΊ£i-QuyαΊΏt-VαΊ₯n-Đề (Do-The-Simplest-Thing-That-Could-Possibly-Work). Sα»± phα»©c tαΊ‘p vΓ  cΓ‘c mαΊ«u chỉ được thΓͺm vΓ o khi chΓΊng thα»±c sα»± cαΊ§n cho sα»± mở rα»™ng về sau.

Mα»™t khi Δ‘Γ£ quen vα»›i cΓ‘c khΓ‘i niệm, bαΊ‘n cΓ³ thể bαΊ―t Δ‘αΊ§u Δ‘Γ o sΓ’u cΓ‘c mαΊ«u thiαΊΏt kαΊΏ hiện cΓ³ bαΊ±ng cΓ‘c cΓ‘ch tiαΊΏp cαΊ­n sau

  • TΓ¬m kiαΊΏm mα»™t mαΊ«u thiαΊΏt kαΊΏ cα»₯ thể bαΊ±ng tΓͺn. NαΊΏu khΓ΄ng tΓ¬m thαΊ₯y, vui lΓ²ng yΓͺu cαΊ§u mα»™t mαΊ«u mα»›i ở Δ‘Γ’y.
  • Sα»­ dα»₯ng Δ‘Γ‘nh dαΊ₯u (tag) nhΖ° Performance, Gang of Four hoαΊ·c Data access.
  • Sα»­ dα»₯ng danh mα»₯c nhΖ° Creational, Behavioral, vΓ’n vΓ’n.

Mong rαΊ±ng nhα»―ng giαΊ£i phΓ‘p hΖ°α»›ng Δ‘α»‘i tượng ở Δ‘Γ’y sαΊ½ mang lαΊ‘i lợi Γ­ch cΓ΄ng việc cΕ©ng nhΖ° niềm vui học tαΊ­p cho bαΊ‘n, giα»‘ng nhΖ° chΓΊng tΓ΄i Δ‘Γ£ vΓ  Δ‘ang được trαΊ£i nghiệm trong quΓ‘ trΓ¬nh phΓ‘t triển chΓΊng.

Đóng góp

NαΊΏu bαΊ‘n mong muα»‘n Δ‘Γ³ng gΓ³p cho dα»± Γ‘n, bαΊ‘n cΓ³ thể tΓ¬m kiαΊΏm thΓ΄ng tin liΓͺn quan ở wiki cho nhΓ  phΓ‘t triển. ChΓΊng tΓ΄i sαΊ½ giΓΊp trαΊ£ lời cΓ’u hỏi của bαΊ‘n ở Gitter.

GiαΊ₯y phΓ©p

Dα»± Γ‘n nΓ y được cαΊ₯p phΓ©p theo cΓ‘c Δ‘iều khoαΊ£n của giαΊ₯y phΓ©p MIT.

Nhα»―ng người Δ‘Γ³ng gΓ³p


Ilkka SeppΓ€lΓ€

πŸ“† 🚧 πŸ–‹

Subhrodip Mohanta

πŸ’» πŸ‘€ 🚧

amit1307

πŸ’»

Narendra Pathai

πŸ’» πŸ€” πŸ‘€

Jeroen Meulemeester

πŸ’»

Joseph McCarthy

πŸ’»

Thomas

πŸ’»

Anurag Agarwal

πŸ’»

Markus Moser

🎨 πŸ’» πŸ€”

Sabiq Ihab

πŸ’»

Amit Dixit

πŸ’»

Piyush Kailash Chaudhari

πŸ’»

joshzambales

πŸ’»

Kamil Pietruszka

πŸ’»

Zafar Khaydarov

πŸ’» πŸ“–

Paul Campbell

πŸ’»

Argyro Sioziou

πŸ’»

TylerMcConville

πŸ’»

saksham93

πŸ’»

nikhilbarar

πŸ’»

Colin But

πŸ’»

Ruslan

πŸ’»

Juho Kang

πŸ’»

Dheeraj Mummareddy

πŸ’»

Bernardo Sulzbach

πŸ’»

Aleksandar Dudukovic

πŸ’»

Yusuf Aytaş

πŸ’»

MihΓ‘ly Kuprivecz

πŸ’»

Stanislav Kapinus

πŸ’»

GVSharma

πŸ’»

Srđan Paunović

πŸ’»

Petros G. Sideris

πŸ’»

Pramod Gupta

πŸ‘€

Amarnath Chandana

πŸ’»

Anurag870

πŸ’» πŸ“–

Wes Gilleland

πŸ’»

Harshraj Thakor

πŸ’»

Martin Vandenbussche

πŸ’»

Alexandru Somai

πŸ’»

Artur Mogozov

πŸ’»

anthony

πŸ’»

Christian Cygnus

πŸ’»

Dima Gubin

πŸ’»

Joshua Jimenez

πŸ’»

Kai Winter

πŸ’»

lbroman

πŸ’»

Przemek

πŸ’»

Prafful Agarwal

πŸ–‹

Sanket Panhale

πŸ–‹

staillebois

πŸ’»

KrisztiΓ‘n Nagy

πŸ’»

Alexander Ivanov

πŸ’»

Yosfik Alqadri

πŸ’»

AgustΓ­ Becerra MilΓ 

πŸ’»

Juan Manuel SuΓ‘rez

πŸ’»

Luigi Cortese

πŸ’»

Katarzyna Rzepecka

πŸ’»

adamski.pro

πŸ’»

Shengli Bai

πŸ’»

Boris

πŸ’»

Dmitry Avershin

πŸ’»

靳阳

πŸ’»

hoangnam2261

πŸ’»

Arpit Jain

πŸ’»

JΓ³n Ingi SveinbjΓΆrnsson

πŸ’»

Kirill Vlasov

πŸ’»

Mitchell Irvin

πŸ’»

Ranjeet

πŸ’»

PhoenixYip

πŸ’»

M Saif Asif

πŸ’»

kanwarpreet25

πŸ’»

Leon Mak

πŸ’»

Per Wramdemark

πŸ’»

Evan Sia Wai Suan

πŸ’»

AnaghaSasikumar

πŸ’»

Christoffer Hamberg

πŸ’»

Dominik Gruntz

πŸ’»

Hannes

πŸ’»

Leo GutiΓ©rrez RamΓ­rez

πŸ’»

Zhang WH

πŸ’»

Christopher O'Connell

πŸ’»

George Mavroeidis

πŸ’»

Hemant Bothra

πŸ’» 🎨

Kevin Peters

πŸ’»

George Aristy

πŸ’»

Mahendran Mookkiah

πŸ’»

Azureyjt

πŸ’»

gans

πŸ’»

Matt

πŸ–‹

Gopinath Langote

πŸ’»

Hoswey

πŸ’»

Amit Pandey

πŸ’»

gwildor28

πŸ–‹

η”°ζ΅©

πŸ–‹

Stamatis Pitsios

πŸ’»

qza

πŸ’»

Rodolfo Forte

πŸ–‹

Ankur Kaushal

πŸ’»

Ovidijus Okinskas

πŸ’»

Robert Kasperczyk

πŸ’»

Tapio Rautonen

πŸ’»

Yuri Orlov

πŸ’»

Varun Upadhyay

πŸ’»

Aditya Pal

πŸ’»

grzesiekkedzior

πŸ’» πŸ‘€

Sivasubramani M

πŸ’»

Sami Airaksinen

πŸ’»

Janne Sinivirta

πŸ’»

Boris-Chengbiao Zhou

πŸ–‹

Jacob Hein

πŸ–‹

Richard Jones

πŸ–‹

Rachel M. Carmena

πŸ–‹

Zaerald Denze Lungos

πŸ–‹

Lars Kappert

πŸ–‹

Mike Liu

🌍

Matt Dolan

πŸ’» πŸ‘€

Manan

πŸ‘€

Nishant Arora

πŸ’»

Peeyush

πŸ’»

Rakesh

πŸ’» πŸ‘€

Wei Seng

πŸ’»

Ashish Trivedi

πŸ’»

ζ΄ͺ月阳

πŸ’»

xdvrx1

πŸ‘€ πŸ€”

Bethan Palmer

πŸ’»

Toxic Dreamz

πŸ’»

Edy Cu Tjong

πŸ“–

MichaΕ‚ KrzywaΕ„ski

πŸ’»

Stefan Birkner

πŸ’»

Fedor Skvorcov

πŸ’»

samilAyoub

πŸ’»

Vladislav Golubinov

πŸ’»

Swaraj

πŸ’»

Christoph Flick

πŸ“–

AscΓͺnio

πŸ‘€

Domenico Sibilio

πŸ“–

Akash Chandwani

πŸ‘€

Pavlo Manannikov

πŸ’»

Eiman

πŸ’»

Rocky

πŸ“–

Ibrahim ali abdelghany

πŸ‘€

Girish Kulkarni

πŸ“–

Omar Karazoun

πŸ’»

Jeff Evans

πŸ’»

Vivek Singh

πŸ’»

siavash

πŸ’»

ruchpeanuts

πŸ“–

warp125

🌍

KHADIR Tayeb

🌍

ignite1771

πŸ’»

Halil Demir

🌍

Rohit Singh

πŸ’»

byoungju94

πŸ’»

Moustafa Farhat

🌍

Martel Richard

πŸ’»

va1m

πŸ’»

Noam Greenshtain

πŸ’»

yonghong Xu

πŸ“–

jinishavora

πŸ‘€ πŸ’»

Elvys Soares

πŸ’»

zWeBrain

πŸ’»

δ½™ζž—ι’–

🌍

Alain

🌍

VR

πŸ“–

JackieNim

πŸ’»

EdisonE3

πŸ’»

Tao

πŸ’»

Juan Manuel Abate

🌍

Xenilo137

πŸ’»

Samuel Souza

πŸ’»

Marlo Henrique

🌍

AndriyPyzh

πŸ’»

karthikbhat13

πŸ’»

Morteza Adigozalpour

πŸ’»

Nagaraj Tantri

πŸ’»

Francesco Scuccimarri

πŸ’»

Conny Hansson

πŸ“–

Muklas Rahmanto

🌍

Vadim

🌍

Simran Keshri

πŸ’»

JCarlos

🌍

Ali Ghasemi

πŸ’»

Carl Dea

πŸ’»

Mozartus

🌍

Manvi Goel

πŸ“–

Anum Amin

πŸ“–

Reo Uehara

🌍

Fiordy

πŸ“–

Harshal

πŸ’»

Abhinav Vashisth

πŸ“–

Kevin

πŸ‘€ πŸ’»

Shrirang

πŸ‘€ πŸ’»

interactwithankush

πŸ’»

CharlieYu

πŸ’»

Leisterbecker

πŸ’»

DragonDreamer

πŸ’»

ShivanshCharak

πŸ’»

HattoriHenzo

πŸ’»

Arnab Sen

πŸ’»

MohanaRao SV

πŸ’»

Yonatan Karp-Rudin

πŸ’» πŸ‘€

Yonatan Karp-Rudin

πŸ’»

Oliani

πŸ’»

perfect guy

πŸ“–

xyllq999

πŸ’»

Renjie LIU

πŸ’»