挖掘需要擴展的遺留項目(C++)時,我意識到大約有40個讀寫器/解析器類。它們用於以不同的文件格式(二進制,hdf5,xml,text,...)讀取和寫入各種類型的數據(不同的對象);一種類型的對象通常綁定到一種或兩種文件格式。他們中的大多數人對其他人不瞭解。作者顯然不知道接口和繼承,以及設計模式。如何設計一組不同格式的文件讀寫器
在我看來,這是一個可怕的混亂。另一方面,我不確定如何處理這種情況。我至少會提取接口。我還想看看是否可以在某些父類中使用通用代碼,例如hdf5讀寫器的特定功能。我也認爲抽象工廠模式可能會有所幫助,但我從讀者那裏得到的對象是完全不同的。
你會如何處理這種情況?你將如何設計類?如果有的話,你會使用什麼設計模式?你會不會把閱讀和寫作部分分開?
感謝您指出我錯過了這個其他問題。這正是我最終實際做的。 – Barth 2011-07-07 11:55:48