0

Design patterns

159 0 0
  • Design patterns

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Tài liệu liên quan

Thông tin tài liệu

Ngày đăng: 06/08/2022, 14:55

Mục lục Chương 1: Tổng quan mẫu DP Chương 2: Strategy Chương 3: Factory, Decorator Chương 4: Observer, Chain of Responsibility Chương 5: Singleton, Flyweight Chương 6: Adapter, Faỗade Chng 7: Template, Builder Chng 8: Iterator,Composite Chương 9: State, Proxy -28 -49 -55 -77 -94 -123 -145 Chương 1: Xin chúc mừng, rắc rối bạn giải triệt để Trong chương này, nói đến:  Giới thiệu Mẫu thiết kế Design Patterns gì?    Hiểu biết tác dụng Design Patterns Mở rộng lập trình hướng đối tượng Điểm sơ qua số mẫu Design Pattern Là lập trình viên, bạn biết thật khó khăn để nhớ chi tiết việc bạn thực Và bạn không nắm bắt tổng qt cơng việc, bạn dễ dàng bỏ lỡ việc quan trọng Khi đó, mã nguồn bạn viết cịn làm việc tốt đẹp, trừ bạn bao quát tranh lớn hơn, lúc mã nguồn bạn viết thực hoàn hảo Những vấn đề nghiêm trọng thực thường xuất sau bạn chỉnh sửa chúng lần Những nhà phát triển thường tự xử lý cách viết lại mã nguồn sửa lỗi Tuy nhiên môi trường cơng việc, nhà lập trình thường bỏ phần lớn thời gian để bảo trì, chỉnh sửa cơng việc cũ tập trung vào sản phẩm Bạn thấy thật vô lý phải làm, sửa, làm lại, sửa tiếp… Giải pháp hợp lý bạn đưa quy trình tổng quan cho việc thiết kế bảo trì, có vậy, bạn tránh rắc rối phát sinh mơi trường ứng dụng thay đổi, bạn giúp cho việc bảo trì, chỉnh sữa dễ dàng có phát sinh Ý tưởng đằng sau sách là: Bạn sử dụng tập hợp mẫu thiết kế Design Patterns để làm đơn giản hóa q trình Kế hoạch giúp bạn có nhìn tổng qt Một mẫu thiết kế Design Pattern giải pháp kiểm nghiệm thành công đối diện vấn đề lập trình phát sinh cụ thể Khi bạn quen thuộc hết mẫu thiết kế sách này, bạn nhìn vào chương trình Bam! Một giải pháp đắn xuất tâm trí bạn, thay bạn phải đập đầu vào tường vơ vọng, bạn ung dung nói “Ở đây, tơi sử dụng mẫu Factory, mẫu Observer, hay mẫu Adapter…” Đó chưa nói, số sách thiết kế khuyên bạn nên dành phần lớn thời gian để phân tích lên kế hoạch cho đề án Vẻ đẹp thật người đối mặt với vấn đề bạn gặp phải, họ có giải pháp đắn cho Và bạn nhuần nhuyễn mẫu thiết kế, bạn áp dụng thiết kế cách dễ dàng Làm để trở thành chuyên gia thiết kế lĩnh vực phần mềm, điều mà thèm muốn? Thật dễ dàng, đọc sách này, nghiền ngẫm mẫu thiết kế mà dành nhiều tâm huyết để viết Bạn không cần phải nhớ thứ, bạn cần biết có mẫu thiết kế Và bạn đối diện với vấn đề thực tế, sâu thẳm bạn tự nhiên lên “À, chỗ dùng mẫu Iterator…” Sau bạn cần tìm kiếm mẫu thiết kế sách này, duyệt qua ví dụ để biết phải làm Và vậy, chương tour du lịch nho nhỏ, giúp bạn qua số mẫu thiết kế tiện dụng hữu ích Chỉ cần tìm mẫu thiết kế thích hợp Điểm kỳ diệu Design Patterns giúp cho cơng việc bạn dễ dàng tái sử dụng, dễ mở rộng bảo trì Khi bạn thiết kế khơng tốt, phần mềm bạn khơng có khả tái sử dụng bảo trì, gặp vấn đề phát sinh, bạn phải dành nhiều thời gian, có nhiều lúc bạn viết ban đầu, để sửa chữa chúng Ví dụ: Bạn muốn tạo đối tượng Java, nhiệm vụ đọc phân tích tài liệu XML Bạn cần phải tạo lớp Parser (chun dùng để phân tích XML) sau bạn tạo đối tượng lớp Bạn thầm nghĩ “Tới việc ổn” Nhưng thực tế có hàng tá lớp Parser người khác viết, họ ln muốn sử dụng lại tính đặc biệt lớp họ Nếu bạn sử dụng mẫu thiết kế Nhà máy Factory, bạn sử dụng lớp Parser nào, kể người khác, thay xài lớp Parser bạn viết Và vậy, chương trình bạn trở nên dễ mở rộng, tái sử dụng bảo trì dễ dàng Nói cách khác, Mẫu thiết kế Design Patterns giải pháp giúp cho ta có thiết kế tốt đối diện vấn đề phát sinh việc lập trình Nhiều người gặp vấn đề này, giải tốt, việc bạn áp dụng chúng Bạn không cần phải ghi nhớ thứ, cần nhìn đâu mẫu thiết kế phù hợp đặt vào chỗ Thật tuyệt không bạn Đôi nét sách tên “Gang of Four” Bộ tứ tác giả Quyển sách tập hợp 23 mẫu thiết kế phát hành Erich Gamma, Richard Helm, Ralph Johnson John Vlissides, nghiên cứu họ năm 1995 Với tựa đề gốc “Design Patterns: Elements of Reusable Object-Oriented Software” Tạm dịch “Mẫu thiết kế: thành phần tái sử dụng lập trình hướng đối tượng” Họ giới lập trình gọi Bộ tứ Gang of Four, hay GoF (ND: Bộ tứ ẩn dụ với Tên nhóm nhạc tiếng Gang Of Four Anh hay Bộ tứ quyền lực Mafia tác phẩm Bố già tứ quyền lực trị Trung quốc, VN có tứ quyền lực Vietnam Next Top Model…) Đã có nhiều thay đổi kể từ xuất hiện, số 23 mẫu sử dụng nhiều, số khác sử dụng Tơi nói đến đầy đủ 23 mẫu sách này, nhấn mạnh mẫu thường sử dụng Và kể mẫu khơng có sách GoF, chương 11 Có thật là, bạn khơng phải nhớ kỹ mẫu thiết kế, bạn phải hiểu sâu sắc nó, để áp dụng đắn thực tiễn Tôi lưu ý nhiều lập trình hướng đối tượng xuyên suốt sách Lập trình hướng đối tượng OOP bước tiến tuyệt vời lĩnh vực lập trình Nhưng có nhiều lập trình viên sử dụng chúng cách tùy tiện, thiếu chiều sâu, điều gây nhiều rắc rối tiềm ẩn Phần lớn việc tìm hiểu mẫu thiết kế việc mở rộng khái niệm lập trình hướng đối tượng Ví dụ: đóng gói thay đổi nhiều (encapsulating what changes most), cách chuyển đổi quan hệ kế thừa is-a sang quan hệ kết hợp has-a ( xem chương để biết chi tiết) – tơi nói chi tiết chúng Hãy bắt đầu mẫu Mediator Pattern (Người trung gian) Hình bên ví dụ mẫu thiết kế, mẫu Mediator Hình cho thấy chức mẫu Mediator Theo hình ta có website với trang Website cho phép khách hàng duyệt qua kho hàng đặt mua Khách hàng từ trang qua trang khác theo đường vẽ hình Ở có vấn đề phát sinh Tại trang, bạn phải viết mã để nhận biết khách hàng muốn nhảy qua trang khác kích hoạt trang Tại trang bạn có nhiều đường để tới trang khác, phát sinh nhiều đoạn code trùng lặp nhiều trang khác Bạn sử dụng mẫu Mediator để đóng gói tất đường dẫn tới trang vào module nhất, đặt vào đối tượng Mediator Từ bây giờ, trang cần phải thông báo thay đổi cho Mediator, Mediator tự biết dẫn trang cần thiết cho khách hàng, hình bên Bạn tạo Mediator với chức dẫn trang Tại bạn chỉnh sửa thay đổi dễ dàng Đó chức Mediator (Người trung gian) Chuyển đổi với mẫu thiết kế Adaptor (Người chuyển đổi) Đây mẫu khác, mẫu chuyển đổi Adaptor Hãy nhìn vào hình 1-3 Đầu vào đối tượng cũ Hệ thống tiếp nhận đối tượng cũ Với hình 1-4 Khi hệ thống thay đổi, hệ thống không tiếp nhận đối tượng cũ nữa, tiếp nhận đối tượng (ND: thực hình ảnh 1-4 có chút chưa xác, phần “I only take new objects, nên vẽ nhỏ lại) Hình 1- Đây nơi xuất mẫu Adaptor (Người chuyển đổi) Mục đích chuyển đổi đối tượng cũ, thành đối tượng mới, hệ thống sẵn sàng tiếp nhận đối tượng “ND: Các bạn tưởng tượng Các bạn có tivi với đầu cắm điện chân Ổ cắm điện nhà bạn loại ổ chân Bạn cửa tiệm, mua cục chuyển đổi, từ chân chân Lúc bạn sử dụng ổ điện chân Cục chuyển đổi từ chân chân, Adaptor” Vấn đề giải Ai nói học mẫu thiết kế khó khăn Đứng đối tượng Mẫu Proxy (Người đại diện) Đây mẫu khác Mẫu Proxy Mẫu nói rằng, mã bạn viết tương tác với đối tượng cục hình Thực tế phát sinh, bạn buộc phải tương tác với đối tượng xa, giới Làm bạn làm cho chương trình bạn tương tác với đối tượng cục thực tế làm việc với đối tượng xa Ở mẫu Proxy (Người đại diện) xuất Nó đối tượng nằm bên chương trình, làm trách nhiệm tương tác với chương trình, giúp cho chương trình tưởng tương tác cục bộ, thay tương tác với đối tượng từ xa Bên trong, Proxy chịu trách nhiệm kết nối với đối tượng từ xa Như hình Bạn biết cách mẫu Proxy hoạt động chương Đôi nét mẫu Observer (Người quan sát) Bạn quen thuộc với vài mẫu sách này, ví dụ mẫu Observer chẳng hạn Mẫu Observer đăng ký với hệ thống Khi hệ thống có thay đổi, hệ thống thông báo cho Observer biết Khi không cần, mẫu Observer gỡ khỏi hệ thống Hình cho thấy mẫu Observer cho phép observer đăng ký với hệ thống Hình 9, cho phép observer thứ đăng ký với hệ thống Hiện hệ thống liên lạc với observer Khi hệ thống phát sinh kiện cụ thể đó, thơng báo với observer hình số 10.Tơi cố gắng trình bày tất Mẫu thiết kế theo cách dễ hiểu, dễ tiếp cận Bạn khơng phải nhìn vào đống biểu đồ, với lớp trừu tượng đầy phức tạp Các chương sách nhắm vào độc giả lập trình viên, hữu ích cho bạn, cho dù bạn không đọc hết tất mẫu Các mẫu thiết kế sách trở thành tiêu chuẩn lập trình giới, chúng hữu dụng cho bạn, dù bạn trình độ Hy vọng rằng, tương lai, bạn đối diện với chương trình mình, bạn nhận ra: Aha, mu Faỗade Chng 2: Lờn k hoch hnh ng vi Mẫu Strategy (Mẫu chiến lược) Trong chương này, qua nội dung sau:  Mở rộng việc lập trình hướng đối tượng     Làm quen với khái niệm trừu tượng, đóng gói, đa hình kế thừa Chuyển đổi qua lại khái niệm “is-a” “has-a” Xử lý công việc thuận toán Áp dụng mẫu Strategy vào thực tế Là chuyên gia thiết kế mẫu, bạn vào phịng họp cơng ty MegaGigaCo, giám đốc điều hành thành viên ban quản trị ăn mừng hợp đồng thiết kế xe hơi, người vỗ tay hò reo ăn mừng quanh phòng “Hợp đồng đem đến doanh số lớn cho chúng ta”, giám điều hành nói, với tiếng vang bốp bốp rượu champagne phấn khích giám đốc “Việc phải chắn có quy trình thiết kế đúng” Ơng nhấn nút lên đèn chiếu hình ảnh biểu đồ lên tường Ơng nói tiếp: “Đây ý kiến tơi…” “Sai”, bạn nói Giám đốc thống chút giật nói tiếp, “Nhưng chúng ta…” “Khơng,” bạn lắc đầu nói “Xin thứ lỗi”, bạn nói với Giám đốc ban điều hành, “Rõ ràng mạo hiểm với hợp đồng sai hướng Tơi thấy tá vấn đề nhìn vào biểu đồ này” Ban giám đốc thầm với vẻ tập trung Giám đốc hỏi “Theo ý kiến anh sao…” 10 hai lớp divison mảng VPs kế thừa từ lớp Corparate, bạn dễ dàng hóan chuyển để lưu trữ làm việc với đối tượng Corparate lớp Division – ý hàm print duyệt qua tất đối tượng khu vực, cho dù chúng mảng VPs hay khu vực Bằng cách chuyển đổi từ việc xử lý lớp VP bên khu vực division sang việc xử lý lớp Corporate, bạn lưu trữ mảng VPs khác khu vực khác – bạn thực mẫu Composite, cho phép bạn xử lý nút hay nhánh theo cách Iterator lớp division, thực từ lớp DivisionIterator, mã sau: 145 Bạn ngả người ghế với nụ cười hài lòng môi, thầm cảm ơn mẫu thiết kế Composite Để làm chuyển đổi từ ví dụ khu vực phần đầu chương này, sang một cấu trúc hình cho tồn cơng ty, tất bạn phải làm bảo đảm tất đối tượng phải dựa lớp, thực tập hợp hàm, cho phép chúng sử dụng theo cách Xây dựng công ty bạn Bạn có phó giám đốc; bạn có khu vực Bây lúc bạn xây dựng công ty để chứa chúng Để cho việc đơn giản, bạn sử dụng ArrayList để lưu trữ khu vực divisions phó giám đốc công ty Tất đối tượng cơng ty đối tượng Corporate, ArrayList lưu trữ đối tượng Corporate 146 Khi bạn muốn thêm đối tượng Corporate vào cây, cần sử dụng hàm add corporate, hàm thêm đối tượng vào ArrayList Muốn in thông tin tất đối tượng công ty? Chỉ cần gọi hàm print đối tượng Corporate, iterator ArrayList in thông tin khu vực phó giám đốc tồn cơng ty – ý bạn gọi hàm print khu vực division, duyệt qua tồn đối tượng bên trong, gọi hàm print chúng Vì gọi hàm print từ cấp cao Corporate, in tồn thông tin công ty 147 OK Đã đến lúc cho chương trình chạy thử Đầu tiên bạn tạo đối tượng Corporation Sau bạn tạo khu vực R&D tạo vài phó giám đốc 148 Tiếp theo, bạn tạo khu vực Sales Bạn sử dụng hàm add để thêm khơng phó giám đốc mà cịn thêm khu vực con, ví dụ khu vực Western Sales, với số phó giám đốc 149 Và bạn thêm phó giám đốc vào công ty cách trực tiếp, giống cách thêm vào khu vực, bạn xử lý nút nhánh theo cách Sau tạo phó giám đốc, bạn có thêm phó giám đốc – khu vực bạn tạo trước – vào công ty in tất thông tin chúng với hàm hàm print đối tượng corporation, hàm gọi hàm print phần tử bên Chạy chương trình, bạn nhận kết 150 Bạn đưa danh sách thắng lợi tới cho vị Giám đốc điều hành “Đã tới lúc cắt tỉa bớt này”, bạn nói “Hả?” Giám đốc hỏi “Loại bỏ cành chết”, bạn nói Giám đốc cười hạnh phúc CHƯƠNG 9: KIỂM SỐT ĐỐI TƯỢNG CỦA BẠN VỚI MẪU TRẠNG THÁI STATE VÀ MẪU ĐẠI DIỆN PROXY Trong chương này: - Sử dụng mẫu State Cho phép trạng thái xác định kết Hiểu mẫu Proxy Sử dụng proxy để đại diện cho đối tượng bạn Kết nối với proxy thông qua internet Giám đốc điều hành công ty Apartments-N-Stuff Inc đăng kí dịch vụ tư vấn bạn nói “Chúng tơi hoạt động cho th hộ phức hợp trải rộng khắp đất nước” Vấn đề lớn quản lý tài sản, chi phí cho việc lớn Vì chuyển đổi tất hộ phức hợp sang việc sử dụng robot phân phối tự động, chấp nhận đơn th nhà phân phối chìa khóa cho khách hàng Chúng tơi muốn người th nhà nộp đơn cho hệ thống tự động này, hệ thống chấp nhận, họ nhận chìa khóa nhà từ hệ thống “Nghe thật tuyệt”, bạn nói “Ý tưởng là,” vị giám đốc nói tiếp “Bình thường, hệ thống tự động đặt xung quanh tòa nhà chờ đợi khách hàng tiềm 151 Khi người thuê nhà nộp đơn, máy tự động kiểm tra đơn Nếu đơn chấp thuận, máy tự động phân phối chìa khóa cho người thuê nhà, ngược lại hệ thống thông báo từ chối người thuê nhà trở trạng thái chờ đợi Và hệ thống tự động cho thuê hộ, phải kiểm tra để biết trống hộ dãy nhà phức hợp không, không cho thuê hết hộ Vị giám đốc điều hành nhìn bạn vẽ nguệch ngoạc cuối hỏi: “Anh làm đó?” “Tơi vẽ biểu đồ trạng thái,” bạn nói “Tơi xem khơng?”, Vị giám đốc hỏi “Khơng,” bạn nói “Ơng cần biết thêm nhiều kiến thức để hiểu biểu đồ này” “Oh”, Vị giám đốc nói Chương nói hai mẫu thiết kế: mẫu trạng thái State, nơi mà đối tượng lưu trữ thông tin trạng thái nội nó, thay đổi hành vi cho thích hợp với trạng thái đó, mẫu đại diện Proxy, nơi mà đối tượng hành động thay cho đối tượng khác Bạn thấy chi tiết cách hai mẫu làm việc chương Ghi nhận tình trạng bạn với mẫu State Bạn hiểu vị giám đốc nói Hệ thống tự động cho thuê có trạng thái sau: Đó là: chờ người thuê nhà mới, nhận đơn thuê nhà, cho thuê hộ, hết hộ cho thuê 152 Hình sau cho bạn thấy biểu đồ trạng thái, nơi mà hộp chủ nhật đại diện cho trạng thái, bạn kết nối trạng thái lại với để biết cách làm việc máy tự động cho thuê nhà Bạn tự nghĩ lòng, chỗ để áp dụng mẫu trạng thái State Thỉnh thoảng, bạn tham gia vào dự án lớn, mã nguồn thường bắt đầu tối tăm Có nhiều điều kiện xảy mà bạn phải nắm bắt khó để ranh giới để chia nhỏ mã nguồn Gợi ý: Khi bạn gặp phải ứng dụng lớn mã nguồn khơng kiểm sốt nổi, thương giúp cho bạn bắt đầu suy nghĩ tới khái niệm trạng thái khác Đây công cụ giúp bạn chia nhỏ mã nguồn thành đơn vị nhỏ hơn, lý tưởng trạng thái phải độc lập với nhau, tự động chia nhỏ mã nguồn bạn thành phần rời rạc Ghi nhớ: Sách Gang o Four (GoF), nói mẫu thiết kế State “Cho phép đối tượng thay đổi hành vi trạng thái thay đổi Đối tượng xuất để thay đổi lớp nó.” Nói cách khác, mã nguồn bạn theo dõi trạng thái nội tại, ví dụ trạng thái chờ người thuê nhà “Waiting for a new tenant” Phần khác mã nguồn kiểm tra trạng thái phản ứng phù hợp Ví dụ, trạng thái hệ thống hết hộ cho thuê Fully rented, 153 khách hàng tiềm tới thuê nhà, đưa vào đơn thuê nhà, hệ thống từ chối đơn Khi bạn sử dụng mẫu thiết kế State, phần mã nguồn kiểm tra trạng thái Điều giúp bạn làm việc với mã nguồn lớn cách rõ ràng tập trung bạn phải kiểm soát hoạt động đoạn mã rời rạc, cách thay đổi trạng thái Nói chung, mẫu thiết kế State hữu ích bạn có nhiều mã nguồn mà ngày phức tạp rối rắm Nếu bạn chia nhỏ công việc cách đưa chúng vào trạng thái độc lập với nhau, bạn làm công việc dễ dàng nhiều Sử dụng hàm để lưu trữ trạng thái Ví dụ đầu tiên, bạn cố gắng tạo máy tự động đơn giản, sử dụng trạng thái Bạn định bạn viết ứng dụng tập trung vào tập hợp hàm, hàm hoạt động dựa trạng thái hệ thống Bạn bắt đầu cách tạo số trạng thái cho bốn trạng thái hệ thống Mã nguồn sau: Bây mã nguồn ứng dụng kiểm tra tình trạng đáp ứng thích hợp Ví dụ mã nguồn sau cách thức hàm getApplication làm việc, hàm gọi hệ thống nhận đơn thuê nhà khách hàng – ý việc hệ thống xử lý phụ thuộc vào trạng thái nội tại: 154 Vậy hệ thống nhận đơn thuê nhà trạng thái FULLY_RENTED, hệ thống in thông báo xin lỗi, cho thuê hết hộ “Sorry, we’re fully rented” Nếu hệ thống nhận đơn thuê nhà trạng thái WAITTING, thơng báo “Thanks for the application” Và thay đổi hệ thống tự thay đổi trạng thái sang GOT_APPLICATION Tương tự vậy, bạn gọi hàm checkApplication hệ thống, việc đáp trả tùy thuộc vào tình trạng tại: Ví dụ, hệ thống yêu cầu kiểm 155 tra đơn thuê nhà, tình trạng WAITING, báo với khách hàng họ cần phải nộp đơn thuê nhà trước Nếu hệ thống tình trạng GOT_APPLICATION bạn gọi hàm checkApplication, kiểm tra đơn thuê nhà vạ định chấp nhận hay từ chối khách hàng Quy trình mơ ví dụ với số ngẫu nhiên – đơn chấp nhận, chương trình đưa hệ thống trạng thái hộ cho thuê APARMENT_RENTED gọi hàm tên rentApartment; đơn bị từ chối, chương trình đưa hệ thống trạng thái chờ WAITING Hàm rentApartment kiểm tra trạng thái nội hệ thống – trạng thái APARTMENT_RENTED, giảm số lượng hộ xuống đơn vị, gọi hàm phân phối chìa khóa nhà, hàm dispenseKeys 156 Cuối cùng, hàm dispenseKeys kiểm tra trạng thái trạng thái APARTMENT_RENTED, hàm gởi chìa khóa nhà tới người thuê nhà đưa hệ thống trạng thái chờ WAITING để tiếp tục chờ người thuê nhà Ý tưởng – bạn lưu trữ trạng thái nội mã nguồn bên ngồi gọi hàm chương trình, bạn kiểm tra trạng thái để thực cơng việc thích hợp Đây chương trình 157 thử nghiệm Trong chương trình bạn tạo đối tượng RentalMethods, đưa vào hàm khởi tạo số 9, để nói có hộ cho th Sau chương trình gọi hàm getApplication checkApplication để mơ có người th nhà Và kết Không tệ, bạn tạo hệ thống tự động tiếp nhận giải yêu cầu thuê nhà cho khách hàng Nhưng có rắc rối với phương pháp dựa hàm Đó bạn thêm nhiều trạng thái nữa, hàm trở nên dài dài hơn, hàm phải viết lại cho tất trạng thái Bạn làm gì? Hãy đóng gói chúng Sử dụng đối tượng để đóng gói trạng thái Thay lưu trữ trạng thái số, có ý tưởng tốt đưa chúng vào lớp Với cách này, bạn gọi hàm dispensKeys checkApplication đối tượng trạng thái state đâu mã nguồn Tất bạn phải làm nạp đối tượng 158 trạng thái state vào biến, gọi hàm khác biến Ví dụ đối tượng state tương ứng với trạng thái chờ đợi, bạn nhận trả lời khác bạn gọi hàm gotApplication đối tượng tương ứng với trạng thái cho thuê hết, mà không hộ Bạn định lưu giữ trạng thái đối tượng để làm mã nguồn rõ ràng Làm để thiết kế hệ thống tự động sử dụng đối tượng trạng thái state? Hệ thống lưu trữ trạng thái đối tượng state, đối tượng lưu trữ bốn đối tượng trạng thái sau : WaitingState, GotApplicationState, ApartmentRentedState FullyRentedState 159 ... này, nói đến:  Giới thiệu Mẫu thiết kế Design Patterns gì?    Hiểu biết tác dụng Design Patterns Mở rộng lập trình hướng đối tượng Điểm sơ qua số mẫu Design Pattern Là lập trình viên, bạn biết... đằng sau sách là: Bạn sử dụng tập hợp mẫu thiết kế Design Patterns để làm đơn giản hóa q trình Kế hoạch giúp bạn có nhìn tổng quát Một mẫu thiết kế Design Pattern giải pháp kiểm nghiệm thành công... giúp bạn qua số mẫu thiết kế tiện dụng hữu ích Chỉ cần tìm mẫu thiết kế thích hợp Điểm kỳ diệu Design Patterns giúp cho cơng việc bạn dễ dàng tái sử dụng, dễ mở rộng bảo trì Khi bạn thiết kế không
- Xem thêm -

Xem thêm: Design patterns ,