2
我正在研究簡單的基準「框架」(理由:無聊和實踐)。 現在我正試圖讓自己的頭靠近一些東西。 首先第一件事情:幫助設計和(更重要的)單元測試。 (類似於戰略模式)
class DataManager {
private $persistanceStrategy;
public function __construct(IPersistence $persistenceStrategy) {
$this->persistanceStrategy = $persistenceStrategy;
}
public function saveData() {
$this->persistanceStrategy->saveData($params);
}
public function getData() {
$this->persistanceStrategy->getData($params);
}
}
interface IPersistence {
public function saveData(array $params);
public function getData(array $params);
}
class XMLPersistence implements IPersistence {
// Params would contain something like path to the
// xml file, and unique name of some tag
public function saveData(array $params) {
// write something to xml file
}
public function getData(array $params) {
// get something from xml file
}
}
class DBPersistence implements IPersistence {
// $params would contain unique name of data that is needed
// and data for db connection
...
}
class SessionPersistence implements IPersistence {
....
}
問題:
有沒有設計這部分代碼的一種更好的方式。
某人如何測試DataManager類和「戰略」類?
謝謝。你幫了我很多:) –
不客氣!自從該博客幾周前在[Planet PHPUnit](http://planet.phpunit.de/)上出現後,它就很熟悉了。 –