Последняя активность 10 months ago

這段 Python 程式碼使用 策略模式(Strategy Pattern),定義一個 DataHandlerStrategy 介面,並實作 YAML (YamlHandler) 與 JSON (JsonHandler) 兩種不同的資料處理策略。它提供統一的 read_data 和 write_data 方法,讓程式可以根據不同的檔案格式 靈活讀取與寫入 YAML 或 JSON 檔案,適用於 配置管理、資料序列化或跨格式資料處理應用。

timmy ревизий этого фрагмента 10 months ago. К ревизии

Без изменений

timmy ревизий этого фрагмента 10 months ago. К ревизии

Без изменений

timmy ревизий этого фрагмента 10 months ago. К ревизии

Без изменений

timmy ревизий этого фрагмента 1 year ago. К ревизии

1 file changed, 35 insertions

data_handler.py(файл создан)

@@ -0,0 +1,35 @@
1 + import yaml
2 + import json
3 + from abc import ABC, abstractmethod
4 +
5 + # 策略介面
6 + class DataHandlerStrategy(ABC):
7 + @abstractmethod
8 + def read_data(self, path):
9 + pass
10 +
11 + @abstractmethod
12 + def write_data(self, path, data):
13 + pass
14 +
15 +
16 + # YAML 策略
17 + class YamlHandler(DataHandlerStrategy):
18 + def read_data(self, path):
19 + with open(path, "r") as f:
20 + return yaml.safe_load(f)
21 +
22 + def write_data(self, path, data):
23 + with open(path, "w") as f:
24 + yaml.safe_dump(data, f)
25 +
26 +
27 + # JSON 策略
28 + class JsonHandler(DataHandlerStrategy):
29 + def read_data(self, path):
30 + with open(path, "r") as f:
31 + return json.load(f)
32 +
33 + def write_data(self, path, data):
34 + with open(path, "w") as f:
35 + json.dump(data, f, ensure_ascii=False, indent=4)
Новее Позже