sách gpt4 ăn đã đi

Mẫu chiến lược dễ hiểu nhất sẽ loại bỏ các nhánh if-else, thực hiện nguyên tắc đóng mở và cải thiện khả năng mở rộng

In lại Tác giả: Tôi là chú chim nhỏ Thời gian cập nhật: 2023-02-04 22:31:31 28 4
mua khóa gpt4 giày nike

1 Giới thiệu

Kịch bản được sử dụng phổ biến nhất của mẫu chiến lược là loại bỏ if-else trong mã. If-else được đề cập ở đây không có nghĩa là bất kỳ phán đoán đơn giản nào cũng phải được tối ưu hóa bằng cách đưa ra mẫu chiến lược, điều này sẽ làm tăng độ phức tạp của mã.

Phản ví dụ: Sử dụng mẫu chiến lược để tối ưu hóa biến boolean.

2 nền

Tôi chịu trách nhiệm về một dự án dựa trên việc phát triển công cụ xử lý. Có một mô-đun chức năng để xem chi tiết của biểu mẫu đăng ký. Vì các biểu mẫu đăng ký khác nhau hiển thị thông tin khác nhau nên những sinh viên ban đầu chịu trách nhiệm phát triển phần chức năng này được sử dụng. if-else để đánh giá các loại biểu mẫu đơn đăng ký và xử lý các biểu mẫu đơn đăng ký khác nhau một cách khác nhau.

Vì ngày càng có nhiều biểu mẫu ứng dụng trong hệ thống, các nhánh if-else trong phần này trở nên cồng kềnh và mỗi khi một biểu mẫu ứng dụng mới được thêm vào, một nhánh khác cần được thêm vào cuối, điều này không chỉ phá hủy phần mở đầu. và nguyên tắc đóng, nhưng cũng có khả năng đọc cực kỳ kém và không có lợi cho việc mở rộng.

3. Giới thiệu giao diện chiến lược

Các biểu mẫu ứng dụng khác nhau có logic riêng để xử lý chi tiết. Để triển khai giao diện chính sách này, chỉ cần viết lại doDetail().

Đây là cách triển khai mặc định:

4 Giới thiệu đối tượng bối cảnh chính sách

Sau khi có giao diện chiến lược, bây giờ chúng ta cần một đối tượng ngữ cảnh để đặt tất cả các chiến lược vào một bộ sưu tập nhằm tạo điều kiện thuận lợi cho các lệnh gọi tiếp theo.

Ở đây, applicationContext do Spring framework cung cấp được sử dụng để lấy tất cả các lớp triển khai của giao diện chiến lược. Sau khi đối tượng bối cảnh chiến lược được khởi tạo, các lớp triển khai sẽ được đăng ký trong bản đồ. (@PostConstruct: xử lý một số logic sau khi quá trình khởi tạo Bean hoàn tất).

5 Cuộc gọi của khách hàng

Miễn là bạn giữ đối tượng bối cảnh chiến lược, bạn có thể lấy lớp triển khai của giao diện chiến lược và thực thi logic liên quan:

6 Tóm tắt

Khi sinh viên trong quá trình phát triển tiếp theo thêm các biểu mẫu ứng dụng, họ chỉ cần thêm một lớp chi tiết, triển khai giao diện chiến lược và viết lại phương thức, điều này giúp cải thiện đáng kể khả năng mở rộng của phần chức năng này.

Giải thích về đối tượng ngữ cảnh chính sách sử dụng bộ sưu tập để lưu trữ tất cả các chính sách: sử dụng Map để lưu trữ, cần có khóa để xác định chính sách nào được sử dụng để xử lý.

Cuối cùng, bài viết về mẫu chiến lược dễ hiểu nhất để loại bỏ các nhánh if-else, triển khai nguyên tắc mở và đóng cũng như cải thiện khả năng mở rộng sẽ kết thúc tại đây. if-else Để phân nhánh, triển khai nguyên tắc đóng mở và cải thiện khả năng mở rộng, vui lòng tìm kiếm các bài viết về CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .

28 4 0
tôi là một con chim nhỏ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress