我正在研究一個小型IO庫,其中接口的需求是已知的,但實現可能會改變。該庫應該讀取和寫入檔案格式以及存儲一些元數據。帶多個指針的Pimpl
我雖然關於使用pimpl,因爲它似乎很適合這項任務。我的問題是,如果實施可以分成兩個文件,如下面的例子:
class Writer
{
private:
class WriterImpl; // Currently writes ZIP archives, but this can change
std::unique_ptr<WriterImpl> m_writerimpl;
class MetaImpl; // Currently uses XML
std::unique_ptr<MetaImpl> m_metaimpl;
}
這仍然使用pimpl模式?或者最好有一個指向WriterImpl類的指針,然後指向ZipWriter
和XMLWriter
?
我們可以稱它爲Pimpls –