-1

私はこの種のモデルを使用しています:

  • クラス A はクラス B を拡張します
  • クラス C はクラス A を拡張します

私のコードの短い部分としての例:

class InterfaceController extends AbstractActionController
{
    public function getRole() {
        $userLogin = $this->getAuthService()->getIdentity();
        if ($userLogin != null && $userLogin != "")
        {
            $userData = $this->getUsersLoginTable()->getUserByLogin($userLogin);
            if ($userData) 
            {
                $role = $userData->user_Permissions;
            }
            else
            {
                $role = null;
            }
        }
        return $this->role;
    }    
}

class PostsController extends InterfaceController
{
    public function postsMainViewAction() {
       $layout = $this->layout();
       $layout->setTemplate('mainSite/layout');
       $view = new ViewModel();
       $view->setTemplate('Posts/posts/index');
       return array(
           'role' => $this->getRole()
       );
    }
}

例はZend Framework 2アプリケーションに基づいています私の質問ですが、OOPモデルについてはまだより一般的です

質問は次のとおりです。「この拡張クラスの使用は、アプリケーションのパフォーマンスに悪影響を及ぼす可能性がありますか?」

4

1 に答える 1

0

あなたが与える例の最も弱い点は、メソッドを表示しないことです(私が質問に答えた時点で)。与えられた方法がなければ、それは不要であるとしか言えません。

余計なことを問題視しないのであれば、問題はありません。

ロジックも含まれていないため、説明した継承によってロジックに欠陥が生じることはありません。

お役に立てれば。それ以外の場合、たとえばクラスに実際にメソッドがある場合は、次を探します。

  • 継承よりも合成
  • リスコフ置換原理
于 2013-08-22T23:08:44.343 に答える