Repository files navigation 1. 單一職責原則 (Single Responsibility Principle, SRP)
每個類別都有明確的單一職責。例如,Validator 類別只負責驗證,CurrencyTransformer 類別只負責貨幣轉換。
OrderService 類別有多個方法,但它的整體職責是處理訂單相關的邏輯。
2. 開放封閉原則 (Open/Closed Principle, OCP)
通過使用策略模式(如 ValidationStrategy)和命令模式(如 CurrencyTransformCommand),code 可以在不修改現有類別的情況下擴展新功能。
例如可以輕易地添加新的驗證策略或貨幣轉換命令,而不需要修改現有的code。
3. 里氏替換原則 (Liskov Substitution Principle, LSP)
所有的 ValidationStrategy 子類都可以替換 ValidationStrategy 基類使用,不會破壞程序的正確性。
4. 介面隔離原則 (Interface Segregation Principle, ISP)
ValidationStrategy 介面只有一個 validate 方法,降低系統的耦合度,
5. 依賴反轉原則 (Dependency Inversion Principle, DIP)
高層模組(如 OrderService)依賴於抽象(如 Validator 和 CurrencyTransformer),而不是具體實現。
1. 策略模式 (Strategy Pattern)
用於實現不同的驗證策略(NameValidationStrategy, PriceValidationStrategy 等)。
2. 命令模式 (Command Pattern)
用於實現不同的貨幣轉換命令(USDToTWDCommand, TWDToTWDCommand)。
3. 依賴注入模式 (Dependency Injection Pattern)
使用 FastAPI 的 Depends 功能來注入 OrderService 到 API 路由處理程序中。
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
You can’t perform that action at this time.