JavaRush /Blog Java /Random-VI /Các mẫu thiết kế trong Java [Phần 1]
Ivan Zaitsev
Mức độ
Киев

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ó việc triển khai các mẫu, chỉ có một danh sách các mẫu tồn tại trong java và nội dung ngắn gọn của chúng. Nó sẽ hữu ích cho những người đã tham gia chủ đề lặp lại và khái quát hóa. Hoặc ngược lại, đối với những người lần đầu tiên tiếp cận các mẫu - để có cái nhìn tổng quan đầu tiên về chủ đề, trước khi đào sâu hơn. Các mẫu thiết kế (design templates) là các giải pháp sẵn sàng sử dụng cho các vấn đề lập trình thường gặp. Đây không phải là một lớp hay một thư viện có thể được kết nối với một dự án, nó còn hơn thế nữa. Các mẫu thiết kế phù hợp với nhiệm vụ được thực hiện trong từng trường hợp cụ thể. Cần nhớ rằng một mô hình như vậy, nếu áp dụng không chính xác hoặc sai vấn đề, có thể gây ra rất nhiều vấn đề. Tuy nhiên, một mẫu được áp dụng chính xác sẽ giúp giải quyết vấn đề một cách dễ dàng và đơn giản. Các mẫu thiết kế trong Java [Phần 1] - 1Các loại mẫu :
  • tạo ra
  • cấu trúc
  • hành vi
Các mẫu tạo cung cấp cơ chế khởi tạo, cho phép bạn tạo các đối tượng một 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à đối tượng, cho phép chúng hoạt động cùng nhau. Các mẫu hành vi được sử dụng để tạo thuận lợi cho sự tương tác giữa các thực thể. Máy phát điện :
  • Singleton - giới hạn việc tạo một phiên bản của một lớp và cung cấp quyền truy cập vào đối tượng duy nhất của nó.
  • Factory - Được sử dụng khi chúng ta có một siêu lớp với nhiều lớp con và dựa trên đầu vào, chúng ta cần trả về một siêu lớp từ lớp con.
  • Nhà máy trừu tượng - sử dụng siêu nhà máy để tạo nhà máy, sau đó sử dụng nhà máy đã tạo để tạo đối tượng.
  • Builder - được sử dụng để tạo một đối tượng phức tạp bằng các đối tượng đơn giản. Dần dần nó tạo ra một vật thể lớn hơn từ một vật thể nhỏ và đơn giản.
  • Nguyên mẫu - giúp tạo một đối tượng trùng lặp với hiệu suất tốt hơn, thay vì một đối tượng mới, một bản sao trả về của đối tượng hiện có sẽ được tạo.
Cấu trúc :
  • Adaptor là một công cụ chuyển đổi giữa hai đối tượng không tương thích. Sử dụng mẫu bộ điều hợp, chúng ta có thể kết hợp hai giao diện không tương thích.
  • Composite - Sử dụng một lớp duy nhất để biểu diễn cấu trúc cây.
  • Proxy - Đại diện cho chức năng của một lớp khác.
  • Flyweight - Thay vì tạo ra một số lượng lớn các đối tượng tương tự, các đối tượng được tái sử dụng.
  • Mặt tiền - Cung cấp giao diện đơn giản cho máy khách và máy khách sử dụng giao diện để tương tác với hệ thống.
  • Bridge - làm cho các lớp cụ thể trở nên độc lập với các lớp triển khai giao diện.
  • Trình trang trí - Thêm chức năng mới vào đối tượng hiện có mà không cần tuân theo cấu trúc của nó.
Hành vi :
  • Phương thức mẫu - xác định cơ sở của thuật toán và cho phép những người kế nhiệm xác định lại một số bước của thuật toán mà không thay đổi toàn bộ cấu trúc của nó.
  • Người hòa giải - Cung cấp một lớp hòa giải xử lý tất cả các thông tin liên lạc giữa các lớp khác nhau.
  • Chuỗi trách nhiệm - cho phép bạn tránh sự phụ thuộc chặt chẽ của người gửi yêu cầu vào người nhận, trong khi 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 số đối tượng theo dõi và phản ứng với các sự kiện xảy ra ở các đối tượng khác.
  • Chiến lược - Thuật toán chiến lược có thể được thay đổi trong quá trình thực hiện chương trình.
  • Lệnh - Giao diện lệnh khai báo một phương thức để thực hiện một hành động cụ thể.
  • Trạng thái - Một đối tượng có thể 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 thao tác trên các nhóm đối tượng liên quan.
  • Trình thông dịch - Xác định ngữ pháp ngôn ngữ đơn giản cho một miền có vấn đề.
  • Iterator - truy cập tuần tự các phần tử của đối tượng bộ sưu tập mà không biết biểu diễn cơ bản của nó.
  • Memento (Keeper) - dùng để lưu trữ trạng thái của một đối tượng, trạng thái này có thể khôi phục sau này.
Khi tham gia khóa học JavaRush, bạn sẽ gặp một số mẫu từ danh sách này. Tôi khuyên bạn nên sử dụng các vấn đề về mẫu: 1522 , 1530 , 1631 , big01 , 2912 , 3107 ... Việc sử dụng thông minh các mẫu thiết kế sẽ giúp tăng độ tin cậy bảo trì mã vì ngoài việc là một giải pháp tốt cho một vấn đề chung, các mẫu thiết kế còn có thể được nhận ra bởi các nhà phát triển khác, giúp giảm thời gian khi làm việc với một số mã nhất định. Các mẫu thiết kế trong Java [Phần 2]
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION