クラスコードを変更せずにクラスの機能を拡張しますか?
最初の写真
現在のアプリケーションは を使用していますyaf
框架,所有的控制器都继承
自Base_controller
, 但由于后期功能越来越多(权限管理、产品管理、日志管理等), 导致Base_controller
肥大化することはもうありません
もちろん、機能ごとに異なるクラスファイルを作成し、Base_controller
中初始化也能满足需求, 但这样各个功能和Base_controller
それらを強結合することもできるので、もっと良い解決策はないでしょうか。
今考えているのは、装饰模式
,(因为目前只会这个,妈蛋),
用具体的装饰类(权限管理,日志管理)来装饰Base_controller
, 使其具有这些功能, 但由于装饰模式要求被装饰者(Base_controller
), 和具体装饰者都继承自同一类, 然而现在Base_controller
已经继承自其它类了, 所以Base_controller
飾られた役を演じることはできない
それでは、私が一生懸命書いた機能クラス (権限管理、プロダクト管理、ログ管理) を装飾するには誰を使用すればよいでしょうか?
それでは、私は間違った方向に進んでいますか、装飾モードはここではまったく適していません、それとも他のデザインが必要ですか?返信内容:
最初の写真
肥大化することはもうありませんyaf
框架,所有的控制器都继承
自Base_controller
, 但由于后期功能越来越多(权限管理、产品管理、日志管理等), 导致Base_controller
それらを強結合することもできるので、もっと良い解決策はないでしょうか。 Base_controller
中初始化也能满足需求, 但这样各个功能和Base_controller
デコレータの役割を果たすことはできないということです装饰模式
,(因为目前只会这个,妈蛋),
用具体的装饰类(权限管理,日志管理)来装饰Base_controller
, 使其具有这些功能, 但由于装饰模式要求被装饰者(Base_controller
), 和具体装饰者都继承自同一类, 然而现在Base_controller
已经继承自其它类了, 所以Base_controller
それでは、私は間違った方向に進んでいますか、装飾モードはここではまったく適していません、それとも他のデザインが必要ですか?
PHP の特性を使用する
お誘いありがとうございます。
上記の特性は確かに解決策ですが、問題の鍵はここにあるわけではない可能性があります。
装飾モードの理解は不正確ですが、それは大きな問題ではなく、重要ではありません
実際の開発では BaseController が肥大化するという問題に遭遇したことはありません。これは通常、開発者のレベル (またはレルム) の結果であり、クラス コードを変更しない場合でも、この問題は発生します。解決することはできませんが、再構築する必要があります。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
