0
我正面臨設計問題。我想用構建器模式分離構建對象,但問題是必須從配置文件構建對象。構建模式 - 讀取配置文件
到目前爲止,我已經決定從配置創建的所有對象都將存儲在DataContext類(所有對象的容器)中,因爲這些對象狀態將從傳輸更新(因此它們更容易在一個地方)。
我正在使用外部庫從XML文件讀取 - 我的問題是如何隱藏它 - 它是更好的注入到concreteBuilder類?我必須注意到,構建器類將不得不創建大量對象,並在最後連接它們。
Base類可以看起來像:
/*
* IDataContextBuilder
* base class for building data context object
* and sub obejcts
*/
class IDataContextBuilder {
public:
/*
* GetResult()
* returns result of building process
*/
virtual DataContext * GetResult() = 0;
/*
* Virtual destructor
*/
virtual ~IDataContextBuilder() { }
};
class ConcreteDataContextBuilder {
public:
ConcreteDataContextBuilder(pugi::xml_node & rootNode);
DataContext * GetResult();
}
如何正確實現它?從配置文件構建類有什麼更好的模式?