我有一个解析一些模板文件的代码,当它找到一个占位符时,它用一个值替换它。就像是:
<html>
<head>
<title>%title%</title>
</head>
<body bgcolor="%color%">
...etc.
在代码中,解析器找到那些,调用这个函数:
string getContent(const string& name)
{
if (name == "title")
return page->getTitle();
else if (name == "color")
return getBodyColor();
...etc.
}
然后用返回值替换原来的占位符。
在实际情况下,它不是一个虚拟网页,并且可能出现许多 (50+) 个不同的占位符。
我的代码是 C++,但我猜任何语言都存在这个问题。我猜这更多是关于算法和面向对象设计的。唯一重要的是必须编译它,即使我想要我不能有任何动态/评估代码。
我虽然关于实施责任链模式,但它似乎不会改善这种情况。
更新:我也担心另一个线程中的这个评论。我应该关心它吗?