Design patterns
➤ Gửi thông báo lỗi ⚠️ Báo cáo tài liệu vi phạmNội dung chi tiết: Design patterns
Design patterns
Mục lụcChương 1: Tông quan các mãu DP-1—Chương 2: Strategy"9"Chương 3: Factory, Decorator"28"Chương 4: Observer, Chain of Responsibility"49"Chương 5: Design patterns Singleton, Flyweight"55"Chương 6: Adapter, Facade"77"Chương 7: Template, Builder"94"Chương 8: Iterator,Composite"123”Chương 9: State, Proxy"145"1Chương 1: Xin chúc mừng, râc rối của bạn đà được giải quyết triệt đê.Trong chương này, chúng ta sẽ nói đến:■Giới thiệu vẽ Mầu thiẽt kẽ Design Patterns là Design patternsgì?■Hiêu biẽt vê tác dụng của Design Patterns■Mở rộng lập trình hướng đối tượng■Điềm sơ qua một sô màu Design PatternLà một lập trình viên, bạn biết rDesign patterns
âng thật khó khản đẽ nhớ chi tiết những việc bạn đang thực hiện. Và khi bạn không nâm bât được tông quát công việc, bạn có thẽ dé dàng bò lờ những việMục lụcChương 1: Tông quan các mãu DP-1—Chương 2: Strategy"9"Chương 3: Factory, Decorator"28"Chương 4: Observer, Chain of Responsibility"49"Chương 5: Design patternsiết mới thực sự hoàn hảo.Những vân đê nghiêm trọng thực sự thường xuãt hiện sau khi bạn đã chinh sửa chúng ít nhất một lẫn. Những nhà phát triẽn thường tự mình xừ lý bãng cách viết lại mằ nguôn và sứa các lôi. Tuy nhiên trong môi trường công việc, nhưng nhà lập trình thường bỏ phân lớn thời gian đẽ Design patternsbào trì, chinh sừa những công việc cũ hơn là tập trung vào nhưng sán phãm mới.Bạn thấy rằng thật vô lý khi cứ phải làm, rồi sưa, làm lại, sửa tiẽp...Design patterns
Giải pháp hợp lý nhất là bạn đưa ra được một quy trình tõng quan cho việc thiết kê và bão trì, có như vậy, bạn mới tránh được các râc rõi phát sinh khMục lụcChương 1: Tông quan các mãu DP-1—Chương 2: Strategy"9"Chương 3: Factory, Decorator"28"Chương 4: Observer, Chain of Responsibility"49"Chương 5: Design patterns Bạn sẽ sứ dụng một tập hợp các mầu thiết kế Design Patterns đẽ làm đơn giản hóa quá trình trên. Kế hoạch này sẽ giúp bạn có một cái nhìn tông quát. Một mâu thiết kê Design Pattern là một giài pháp đã được kiếm nghiệm thành công khi đối diện một vãn đề lập trình phát sinh Cụ thê. Khi bạn quen thuộc Design patternshêt các mầu thiẽt kê trong sách này, bạn nhìn vào một chương trình. Bam! Một giãi pháp đúng đán sẻ xuất hiện trong tâm trí bạn, thay vì bạn phái đập đDesign patterns
âu vào tường trong vô vọng, giờ bạn có thế ung dung nói "ờ đây, tôi sẻ Sừ dụng máu Factory, mảu Observer, hay màu Adapter...”Đó là chưa nói, một sõ sáMục lụcChương 1: Tông quan các mãu DP-1—Chương 2: Strategy"9"Chương 3: Factory, Decorator"28"Chương 4: Observer, Chain of Responsibility"49"Chương 5: Design patternsới vãn đẽ bạn đang gặp phải, họ đã có giải pháp đúng đân cho nó. Và giờ khi bạn nhuần nhuyèn mầu thiết kẽ, bạn có thế áp dụng các thiết kẽ đó một cách dẻ dàng.Làm sao đẽ trờ thành chuyên gia thiết kẽ trong lĩnh vực phăn mèm, điẽu mà ai cũng thèm muốn? Thật dê dàng, hãy đọc cuõn sách này, nghiền ngám Design patterns những máu thiết kế mà tôi dành nhiẽu tâm huyết đẽ viết. Bạn không cần phải nhớ mọi thứ, bạn chi cần biẽt là có những mầu thiẽt kẽ đó. Và khi bạn đóiDesign patterns
diện với một vãn đê thực tế, sâu thâm trong bạn tự nhién thốt lên "Ả, có vé chồ này có thẽ dùng màu Iterator...” Sau đó bạn chi cần tìm kiếm mâu thiếtMục lụcChương 1: Tông quan các mãu DP-1—Chương 2: Strategy"9"Chương 3: Factory, Decorator"28"Chương 4: Observer, Chain of Responsibility"49"Chương 5: Design patternsthiẽt kẽ tiện dụng và hiìu ích.Chi cân tìm ra máu thiẽt kê thích hợpĐiẽm kỳ diệu của Design Patterns là nó giúp cho công việc của bạn dẻ dàng tái sứ dụng, dề mờ rộng và bão trì. Khi bạn thiết kẽ không tõt, phân mẽm của bạn không có khả năng tái sử dụng và bào trì, khi gặp vấn đè phát sinh, bạn sẽ ph Design patternsải dành nhiêu thời gian, có khi là nhiêu hơn cả lúc bạn viết ban đău, chì là đế sửa chừa chúng.Ví dụ: Bạn đang muốn tạo một đõi tượng Java, nhiệm vụ lDesign patterns
à đọc và phân tích một tài liệu XML. Bạn cần phải tạo một lớp Parser (chuyên dùng đẽ phân tích XML) sau đó bạn tạo một đõi tượng cùa lờp này. Bạn thàmMục lụcChương 1: Tông quan các mãu DP-1—Chương 2: Strategy"9"Chương 3: Factory, Decorator"28"Chương 4: Observer, Chain of Responsibility"49"Chương 5: Design patternsrong lớp của họ. Nẽu bạn có thẽ sử dụng màu thiết kế Nhà máy Factory, giờ đây bạn có thẽ Sừ dụng bãt cứ lớp Parser nào, kế cả cúa những người khác, thay vì cứ khư khư xài lớp Parser do chính bạn viẽt ra. Và vì vậy, chương trình của bạn đã trờ nên dé mở rộng, tái Sừ dụng được và bào trì dé dàng.Nói c Design patternsách khác, Mâu thiết kê Design Patterns là những giải pháp giúp cho ta có một thiết kế tốt khi dõi diện nhưng vấn đê phát sinh trong việc lập trình. NhDesign patterns
iều người đã gặp vân đề này, và đẳ giải quyẽt tõt, việc của bạn là áp dụng chúng. Bạn không cần phải ghi nhớ mọi thứ, chi cần nhìn ra đàu là mâu thiếtMục lụcChương 1: Tông quan các mãu DP-1—Chương 2: Strategy"9"Chương 3: Factory, Decorator"28"Chương 4: Observer, Chain of Responsibility"49"Chương 5: Design patternshiết kê được phát hành bởi Erich Gamma, Richard Helm, Ralph Johnson và John Vlissides, trong một nghiên cứu cùa họ năm 1995. Với tựa đê gôc là "Design Patterns: Elements of Reusable Object-Oriented Software". Tạm dịch "Máu thiết kẽ: những thành phăn tái sử dụng trong lập trình hướng đõi tượng". Họ đ Design patternsược giới lập trình gọi là Bộ tứ Gang of Four, hay GoF. (ND: Bộ tứ ờ đáy là ãn dụ với Tên nhóm nhạc nôi tiêng Gang Of Four của Anh hay Bộ tứ quyên lựcDesign patterns
Mafia trong tác phẩm Bõ già hay là bộ tứ quyèn lực chính trị cùa Trung quốc, ờ VN cũng có bộ tứ quyên lực của Vietnam Next Top Model...).Đã có rất nhiMục lụcChương 1: Tông quan các mãu DP-1—Chương 2: Strategy"9"Chương 3: Factory, Decorator"28"Chương 4: Observer, Chain of Responsibility"49"Chương 5: Design patternsnày. nhưng tói sẻ nhấn mạnh ờ nhừng mẳu thường được sử dụng hơn. Và kẽ cả màu mới không có trong sách cúa GoF, trong chương 11.Có một sự thật là, bạn không chì phái nhớ kỹ từng máu thiết kế, bạn phái hiếu sâu sắc về nó, đẽ có thề áp dụng đúng đân trong thực tiên. Tôi cũng sẻ lưu ý nhiêu vè lập trình Design patterns hướng đổi tượng xuyên suốt quyên sách này. Lập trình hướng đối tượng OOP là một bước tiên tuyệt vời trong lĩnh vực lập trình. Nhưng có quá nhiều lậpDesign patterns
trình viên sử dụng chúng một cách tùy tiện, thiêu chiêu sâu, và điẽu đó gây ra nhiêu râc rõi tiêm ẩn.Phần lớn việc tìm hiêu những mầu thiết kế chính lMục lụcChương 1: Tông quan các mãu DP-1—Chương 2: Strategy"9"Chương 3: Factory, Decorator"28"Chương 4: Observer, Chain of Responsibility"49"Chương 5: Design patternst quan hệ kẽ thừa is-a sang quan hệ kết hợp has-a ( xem chương 2 đẽ biết chi tiết) - và tôi sẽ nói chi tiêt vẽ chúng.Hảy bât đâu bâng mâu Mediator Pattern (Người trung gian)4Figure 1-1:In this illusữation of the basic navigation of atypical online store, the Mediator pattern mediates between objects Design patternsMục lụcChương 1: Tông quan các mãu DP-1—Chương 2: Strategy"9"Chương 3: Factory, Decorator"28"Chương 4: Observer, Chain of Responsibility"49"Chương 5:Gọi ngay
Chat zalo
Facebook