我正在實現一個可以相互轉換的類似數據對象的庫。爲了使其更具說明性,我將在下面假設數據對象是不同的圖像類型。說,我有以下類別Python中的數據對象之間的轉換器設計
class PixelImage(object):
pass
class VectorImage(object):
pass
class FourierImage(object):
pass
什麼是設置之間的轉換器功能的好方法?這種情況下有沒有設計模式?問題是轉換器在源類和目標類上都需要一定的知識,但是我想避免這些類之間的強烈依賴關係。此外,如果設計開放以便稍後添加派生類(例如class CompressedPixelImage(PixelImage)
),那就太好了。
下面我會討論我提出的兩種解決方案。備選方法和意見非常受歡迎。謝謝!
爲什麼不使用工廠? – 2rs2ts