在设计对单个或多个值进行操作的接口方法时,最佳做法是什么

时间:2016-07-06 20:08:27

标签: php

设计运行单个或多个值的接口方法时,最佳做法是什么。

我是否设计了这样的界面:

interface DbItf
{
   /**
    * Drop table.
    *
    * @param string $tableName The database table name.
    *
    * @return bool Returns true on success, false on failure.
    */
    public function dbDropTable($tableName);

   /**
    * Drop tables.
    *
    * @param string[] $tableName The list of database table names.
    *
    * @return bool Returns true on success, false if one or more operations failed.
    */
    public function dbDropTables(array $tableName);

}

或:

interface DbItf
{
   /**
    * Drop table or tables.
    *
    * @param string|string[] $tableName The table name or list table names.
    *
    * @return bool Returns true on success, false if one or more operations failed.
    */
    public function dbDropTable($tableName);

}

使用第一种或第二种方法创建接口的优缺点是什么?

1 个答案:

答案 0 :(得分:2)

这纯粹是一种意见,因为最佳做法往往是。

我认为第一个例子是多余的。只要你记录它接受一个字符串和一个数组,那么第二个例子就没问题了,尽管很多人可能会认为它只接受一个表的名称。如果您希望它接受多个值,则将名称更改为dropTables可能更有意义。

注意我还删除了db前缀。您已经在Db界面,我认为该方法中db是多余的。