假设你有一个 ZipFile 类和一个 Content 类。
ZipFile 有一个 load() 方法,用于读取 zip 存档中所有文件的内容并将其放入 Content 对象中。
什么是最合适的 OOP 设计?
1) ZipFile.load() 将创建一个 Content 对象
class ZipFile
{
public function load()
{
// Load all files in zip
// ...
Content content = new Content();
content->set(data);
return( content );
}
}
ZipFile zf = new ZipFile();
Content ct = zf->load();
ct->print();
B) 给 ZipFile 构造函数一个 Content 对象来填充
class ZipFile
{
private Content content;
public function ZipFile(content) // constructor
{
this->content = content;
}
public function load()
{
// Load all files in zip
// ...
this->content->set(data);
}
}
Content ct = new Content();
ZipFile zf = new ZipFile(ct);
zf->load();
ct->print();
基本上,分离对象(松散耦合)更好吗?作为一个老派的程序程序员,我不能停止质疑设计 OOP 的几种方法。我在“什么是OOP的最佳方法是什么是最好的方法上浪费了很多时间。有什么建议可以考虑一下吗?书?网站?
谢谢你的帮助