我正在为一个大致如下所示的 PHP 项目使用策略模式。我一直在阅读这本书作为制作设计模式的参考。
我可以使用单个表上的“插入”、“搜索”、“更新”具体策略类从数据库中进行简单的插入、更新或提取。
但是,当涉及到像 JOIN 或具有多个表的 VIEW 之类的复杂查询时,这些类是不够的。
如何制作一个允许我检索自定义编号的策略类。使用 JOIN 或 VIEW 的两个或多个表中的列数?或者,我应该改用存储过程吗?
目前,每个具体的策略类如下所示:
interface IStrategy {
public function algorithm(AbstractModel $modelObj, $tablename);
}
class InsertStrategy implements IStrategy{
public function algorithm(AbstractModel $modelObj, $tablename){
// construct SQL statement
// Initialize the Database Object
// Insert data using PDO
}
}