0

次のように、CDataProvider と CDbWrapper の 2 つの C++ クラスがあるとします。

Class CDataProvider {
public:
    void setData(MyDataType);
    void getData(MyDataType&);
    // ... snip ...
private:
   MyDataType d; // cached data
   CDbWrapper db;
   convertMyTypeToMyDbType(MyDataType, MyDbDataType&);
   convertMyDbTypeToMyType(MyDbDataType, MyDataType&);

};

Class CDbWrapper {
public:
    bool getFromDb(MyDbDataType&); 
    bool setToDb(MyDbDataType);
    // ... snip ...
};

ではCDataProvider::setData、最初にデータをデータベースが理解できる形式に変換して保存します。

私の質問は、convert メソッドがデータ プロバイダーにそのまま存在し、2 つのクラスを分離でき、同じ型を共有する必要がないことに意味があるかどうかです。実際には、データはより複雑であるため、クラス間でヘッダーのデータ型を共有することはクリーンではないことに注意してください。

4

1 に答える 1