我最近发现的是,我正在编写应用程序的多个层以实现非常简单的操作.
例如
$domain = new Application_Model_Domain();
$table = $domain->getMapper()->getDbTable();
$row = $table->find($id)->current();
$row->delete();
这可以很容易地在我的服务层中的delete()方法中完成.但是,我一直在将此功能转移到模型映射器中:
# service layer
$domain = new Application_Model_Domain();
$domain->getMapper()->delete($id);
# mapper
function delete($id) {
$table = $this->getDbTable();
$row = $table->find($id)->current();
$row->delete();
}
您认为哪种方法最有效?
解决方法:
使模型映射器中包含的功能可以帮助您避免在应用程序的多个位置重复代码(即强制执行DRY原则),并使调试和代码修改变得更加容易.