cuốn sách gpt4 ai đã làm

Áp dụng mẫu chiến lược

In lại Tác giả: Sahara Thời gian cập nhật: 2024-12-31 14:42:57 58 4
mua khóa gpt4 Nike

Để áp dụng chế độ chiến lược, trước hết hãy nói về vấn đề này với từ điển cấu hình; từ điển này được sử dụng để quản lý một số cấu hình. Mỗi mục cấu hình có một khóa và một giá trị. một loại nhất định. Chúng tôi chuyển giao diện ConfigServiceStrategy để chỉ định hành vi vận hành cấu hình, thông qua ConfigSe rviceContext đại diện cho bối cảnh cấu hình, qua đó cấu hình có thể được ghi, đọc, v.v.; thông qua nguyên tắc cách ly giao diện, các tham số được truyền trong ngữ cảnh là một giao diện trừu tượng ConfigServiceStrategy và cách triển khai cụ thể là cách duy trì cấu hình, chẳng hạn như bộ nhớ Bảng băm, lưu trữ băm redis, v.v.

Giao diện chính sách tập tin cấu hình

/** * Định cấu hình chiến lược dịch vụ * @author lind * @date 23/12/2024 22:00 * @since 1.0.0 */ giao diện công khai ConfigServiceStrategy { /** * Cấu hình cửa hàng */  void put. (Loại , Khóa chuỗi, giá trị T); /** * Nhận cấu hình * @param key * @param key * @return * @param  */  T get(Class type, String key }

Chiến lược triển khai bảng băm bộ nhớ

/** * Lưu trữ từ điển dựa trên loại và khóa * @author lind * @date 2024/12/23 14:22 * @since 1.0.0 */ lớp công khai WikipediaConfigService triển khai ConfigServiceStrategy { Private Map, Object> configKeyObjectMap = new HashMap<>(); @Override public  void put(Class type, String key, T value) { configKeyObjectMap.put(ConfigKey.of(type, key), value); } @Override public  T get(Class type, String key) { ConfigKey configKey = ConfigKey.of(type , key); kiểu trả về.cast(configKeyObjectMap.get(configKey));

Bối cảnh tập tin cấu hình

/** * Định cấu hình ngữ cảnh dịch vụ* * @author lind * @date 2024/12/23 22:57 * @since 1.0.0 */ public class ConfigServiceContext triển khai ConfigServiceStrategy { private ConfigServiceStrategy configServiceStrategy; public ConfigServiceContext(ConfigServiceStrategy configServiceStrategy) { this. configServiceStrategy = configServiceStrategy; } /** * Cấu hình bộ nhớ * * @param type * @param key * @param value */ @Override public  void put(Class type, String key, T value) { if (this.configServiceStrategy = = null) { ném IllegalStateException mới("Dịch vụ cấu hình chưa được đặt"); } this.configServiceStrategy.put(type, key, value); } /** * Lấy cấu hình. * @return */ @Override public  T get(Class type, String key) { if (this.configServiceStrategy == null) { ném IllegalStateException mới("Dịch vụ cấu hình chưa được đặt" } trả về cái này. configServiceStrategy.get(loại, khóa);

trường hợp thử nghiệm

Việc tiêm có thể được thực hiện thông qua đậu, đây chỉ là thử nghiệm.

public static void main(String[] args) { ConfigServiceContext configServiceContext = new ConfigServiceContext(new DirectoryConfigService()); configServiceContext.put(String.class, "test", "test"); String.class, "kiểm tra")); }

Cuối cùng, bài viết về ứng dụng mẫu chiến lược này kết thúc tại đây. Nếu bạn muốn biết thêm về ứng dụng của mẫu chiến lược, 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. ! .

58 4 0
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