CodeGym/Blog Java/Ngẫu nhiên/Các mẫu thiết kế trong Java [Phần 1]

Các mẫu thiết kế trong Java [Phần 1]

Xuất bản trong nhóm
Đây là một bài viết ngắn về các mẫu thiết kế trong Java. Sẽ không có bất kỳ triển khai mẫu nào, chỉ có danh sách các mẫu trong Java cùng với mô tả ngắn gọn về từng mẫu. Đối với những người đã quen thuộc với chủ đề này, điều này sẽ hữu ích khi xem xét và tóm tắt. Ngược lại, những người lần đầu tiên tìm hiểu về các mẫu sẽ được hưởng lợi từ điều này như một cái nhìn tổng quan ban đầu về chủ đề trước khi tìm hiểu sâu hơn. Design pattern trong Java [Phần 1] - 1 mẫu thiết kếlà các giải pháp sẵn sàng sử dụng cho các tác vụ lập trình thường xuyên xảy ra. Nó không phải là một lớp hoặc thư viện có thể được kết nối với một dự án. Đó là một cái gì đó nhiều hơn nữa. Các mẫu thiết kế phù hợp với từng tác vụ được triển khai trong từng trường hợp cụ thể. Bạn nên nhớ rằng khi áp dụng không đúng cách hoặc vào một nhiệm vụ không phù hợp, một mẫu thiết kế có thể tạo ra rất nhiều vấn đề. Tuy nhiên, một mẫu được áp dụng đúng cách có thể giúp bạn hoàn thành nhiệm vụ một cách dễ dàng và đơn giản.

Các loại hoa văn:

  • sáng tạo
  • cấu trúc
  • hành vi
Các mẫu sáng tạo cung cấp các cơ chế khởi tạo, cho phép bạn tạo các đối tượng theo những cách thuận tiện. Các mẫu cấu trúc xác định mối quan hệ giữa các lớp và các đối tượng, cho phép chúng làm việc cùng nhau. Các mẫu hành vi được sử dụng để đơn giản hóa sự tương tác giữa các thực thể.

sáng tạo:

  • Singleton - hạn chế việc tạo một lớp đối với một thể hiện duy nhất và cung cấp quyền truy cập vào thể hiện đó.

  • Factory — được sử dụng khi chúng ta có một lớp cha với nhiều lớp con và chúng ta cần trả về một lớp con dựa trên đầu vào.

  • Nhà máy trừu tượng - sử dụng một siêu nhà máy để tạo các nhà máy, sau đó chúng tôi sử dụng để tạo các đối tượng.

  • Builder - được sử dụng để tạo các đối tượng phức tạp bằng các đối tượng đơn giản. Nó dần dần tạo ra một đối tượng lớn từ một đối tượng nhỏ, đơn giản.

  • Nguyên mẫu — giúp cải thiện hiệu suất khi tạo các đối tượng trùng lặp; thay vì tạo một đối tượng mới, nó tạo và trả về một bản sao của một đối tượng hiện có.

Cấu trúc:

  • Bộ điều hợp — bộ chuyển đổi giữa hai đối tượng không tương thích. Chúng ta có thể sử dụng mẫu bộ điều hợp để kết hợp hai giao diện không tương thích.

  • Composite - sử dụng một lớp để biểu diễn cấu trúc cây.

  • Proxy — cung cấp chức năng của một lớp khác.

  • Flyweight — sử dụng lại các đối tượng thay vì tạo một số lượng lớn các đối tượng tương tự.

  • Mặt tiền — cung cấp một giao diện đơn giản cho máy khách, sử dụng giao diện này để tương tác với hệ thống.

  • Bridge - làm cho các lớp cụ thể độc lập với các lớp thực hiện một giao diện.

  • Trình trang trí — thêm chức năng mới vào một đối tượng hiện có mà không cần ràng buộc vào cấu trúc của nó.

hành vi:

  • Phương thức mẫu — định nghĩa một thuật toán cơ bản và cho phép con cái ghi đè lên một số bước của thuật toán mà không thay đổi cấu trúc tổng thể của nó.

  • Người hòa giải — cung cấp một lớp trung gian xử lý tất cả các giao tiếp giữa các lớp khác nhau.

  • Chuỗi trách nhiệm — giúp tránh được sự phụ thuộc chặt chẽ giữa người gửi và người nhận yêu cầu; hơn nữa, yêu cầu có thể được xử lý bởi một số đối tượng.

  • Người quan sát - cho phép một đối tượng giám sát và phản hồi các sự kiện xảy ra trong các đối tượng khác.

  • Chiến lược — cho phép thay đổi các chiến lược (thuật toán) trong thời gian chạy.

  • Lệnh — một giao diện khai báo một phương thức để thực hiện một hành động cụ thể.

  • Trạng thái - cho phép một đối tượng thay đổi hành vi tùy thuộc vào trạng thái của nó.

  • Khách truy cập - được sử dụng để đơn giản hóa các hoạt động trên các nhóm đối tượng liên quan.

  • Phiên dịch - xác định ngữ pháp cho một ngôn ngữ đơn giản trong miền vấn đề.

  • Iterator - truy cập tuần tự các phần tử của một bộ sưu tập mà không cần biết hình thức cơ bản của nó.

  • Memento — được sử dụng để lưu trữ trạng thái của một đối tượng; trạng thái này có thể được khôi phục sau đó.

Khi bạn hoàn thành khóa học CodeGym, bạn sẽ bắt gặp một số mẫu trong danh sách này. Tôi đề xuất các tác vụ sau về mẫu: 1522 , 1530 , 1631 , big01 , 2912 , 3107 ... Việc sử dụng khôn ngoan các mẫu thiết kế dẫn đến việc bảo trì mã đáng tin cậy hơn, bởi vì, ngoài thực tế, các mẫu thiết kế là giải pháp tốt cho các vấn đề phổ biến , các nhà phát triển khác có thể nhận ra chúng, giảm thời gian cần thiết để làm việc với một số mã nhất định.
Bình luận
  • Phổ biến
  • Mới
Bạn phải đăng nhập để đăng nhận xet
Trang này chưa có bất kỳ bình luận nào