timmy / 策略模式實作 YAML 與 JSON 資料處理

0 j'aimes
0 forks
1 fichiers
Dernière activité 10 months ago
這段 Python 程式碼使用 策略模式(Strategy Pattern),定義一個 DataHandlerStrategy 介面,並實作 YAML (YamlHandler) 與 JSON (JsonHandler) 兩種不同的資料處理策略。它提供統一的 read_data 和 write_data 方法,讓程式可以根據不同的檔案格式 靈活讀取與寫入 YAML 或 JSON 檔案,適用於 配置管理、資料序列化或跨格式資料處理應用。
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

timmy / 工廠方法模式的本地化翻譯

0 j'aimes
0 forks
1 fichiers
Dernière activité 10 months ago
這段 Python 程式碼使用 工廠方法模式(Factory Method Pattern)來實現 多語言在地化(Localization)。它定義了 English(英文)、Greek(希臘文)、Chinese(中文)三種 Localizer 類別,透過 get_localizer(language) 方法 根據指定語言動態選擇適當的翻譯器。 執行時,程式會將 "dog parrot cat bear" 逐字進行翻譯,並輸出對應語言的結果。這適用於 國際化(i18n)開發、跨語系應用程式、系統訊息翻譯 等場景,讓程式能 彈性支援不同語言。
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3
4
5 """
6 factory.py: 工廠方法模式的範例程式
7
8 Author: Timmy
9 Copyright: Copyright 2022, Timmy
10 授權方式: MIT

timmy / 策略模式在購物車計價中的應用

1 j'aimes
0 forks
1 fichiers
Dernière activité 10 months ago
這段程式碼實作「策略模式(Strategy Pattern)」,用於計算購物車的總金額,並允許 根據不同的定價策略(如正常價格或折扣價格) 來計算最終價格。
1 from abc import ABC, abstractmethod
2
3 # 策略介面
4 class PricingStrategy(ABC):
5 @abstractmethod
6 def calculate_price(self, price):
7 pass
8
9 # 具體策略類
10 class NormalStrategy(PricingStrategy):

timmy / 策略模式在資料管理中的應用

0 j'aimes
0 forks
1 fichiers
Dernière activité 10 months ago
此範例展示策略模式在 YAML 和 JSON 資料處理中的應用,DataHandlerStrategy 定義通用的讀寫介面,並透過 YamlHandler 和 JsonHandler 來處理不同格式的資料。DataManager 負責管理資料存取,並可動態切換處理策略,提高靈活性與可維護性。
1 import time
2 import yaml
3 import json
4 from abc import ABC, abstractmethod
5 import streamlit as st
6
7 # 策略介面
8 class DataHandlerStrategy(ABC):
9 @abstractmethod
10 def read_data(self, path):
Plus récent Plus ancien