検索
ホームページバックエンド開発PHPチュートリアルPHPのオブジェクト指向設計とデータアクセシブル設計について教えてください

PHP のオブジェクト指向設計とデータ アクセシビリティ設計について質問します
たとえば、クラス Person があります
データベース操作クラス Conn
があります Personal で鶏を買い戻す操作があり、鶏の情報をデータベースに入れる必要があります
どのように設計すればよいでしょうか?
Conn クラスをピリオドに含めてから、データベースにアクセスしてデータを挿入するために Conn オブジェクトをインスタンス化する必要がありますか、またはその方法を教えてください。
アドバイスをお願いします!

php オブジェクト指向、データベース
-----解決策---------
引用:
引用: クラス パーソンは Conn を拡張します{
関数 byji(){
$conn=new Conn;//データベース クラスをインスタンス化します
$conn->add();//データベースに挿入
}
}

この場合は、組み合わせモードを使用することをお勧めします。ここでは継承は不適切です。


1
LZはデザインパターンを学ぶべきです
チキンを買う (この出来事は私を狂わせます) ビジネス ロジックの観点から見ると、これは継承関係ではないかもしれません。おそらくあなたのプロジェクトは次のようなものです

ビジネス ロジックは、誰 (人)、操作 (購入)、何を (製品/鶏肉) の間の関係を決定します
誰 (主体) が (変数) を操作する (変数) - 訪問者モード、人物は抽象クラス、購入は人物の必須操作ではありません
誰 (主体) が (変更せず) 何を (変数) を操作する - プロトタイプ モード、購入は人の必要な操作であり、属性に相当します
誰 (変数) が操作する (主体および変更なし) 何を (変数) - ブリッジ モード、抽象クラスとしての購入操作、輸入者が購入する、および製品チキンを購入する

構築モードを使用することもできます。ショッピング カート、注文、支払いなどはメソッド (それぞれ conn を導入します) として、また人物として属性として使用されます
同様に、セッションはメインの抽象クラス (結合モード) として使用され、ログイン、購入、データ変更などの他の操作はメソッドとして使用され (非順序関係)、person クラスは抽象クラスの属性として使用されます。クラス
他にも組み合わせ方法がありますので、自分で勉強してください

しかし、一般的に言えば、データベースに接続するときに conn が person に直接従属するべきであることは明らかではありませんが、event に従属するステップです
したがって、conn はブリッジモードでは person クラスや product クラスとともに抽象クラスに配置され、プロトタイプモードでは第 2 レベルの抽象クラスに従属します
イベントクラスを構築し、conn クラスを次のようなメソッドにインスタンス化する方が良いです
作業を細分化すればするほど、より多くの方法で作業を組み合わせることができます。もちろん、カテゴリ自体の機能は作業を組み合わせることであり、カテゴリの下に細分化することは無意味であるため、カテゴリを単位として話しています。
上で述べたことは単なる私の考え方です。デザインパターンは、あるパターンの中にパターンが存在する可能性があり、人それぞれ異なる考え方を持っているため、パターンは異なります。

--- ---ソリューション ソリューション-------------------実際の多数のプロジェクト開発から設計パターンを抽象化します
デザイン パターンを学ぶ目的は、自分自身の思考の限界から解放され、他の人がどのようにやっているかを確認することです。以上です

あなた自身の開発実践において、モード A とモード B を適用することに固執する場合、あなた自身に問題を引き起こしていませんか?------解決策------ - -----------

上記のドンドンに名前を付けるために本を読まなければならなかったのですが、すっかり忘れていました
デザインパターンを学ぼうとする人は誰でも、最終的には自分の組み合わせの真実を理解できると私は信じています 悲しいかな、人はいつもこんな感じです。小学生の頃から先生に言われたことを覚えていない人はいませんか? 外国の初等教育ってこんな感じなのでしょうか?

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPを使用して電子メールを送信する最良の方法は何ですか?PHPを使用して電子メールを送信する最良の方法は何ですか?May 08, 2025 am 12:21 AM

BestappRoachforseminginphpisusingthephpmailerlibrarydueToitsReliability、featurrichness、andeaseofuse.phpmailerSupportssmtpは、detairederorhandlingを提供します

PHPでの依存関係注射のベストプラクティスPHPでの依存関係注射のベストプラクティスMay 08, 2025 am 12:21 AM

依存関係注射(DI)を使用する理由は、コードのゆるい結合、テスト可能性、および保守性を促進するためです。 1)コンストラクターを使用して依存関係を注入します。2)サービスロケーターの使用を避け、3)依存関係噴射コンテナを使用して依存関係を管理する、4)依存関係を注入することでテスト可能性を向上させる、5)注入依存性を回避、6)パフォーマンスに対するDIの影響を考慮します。

PHPパフォーマンスのチューニングのヒントとコツPHPパフォーマンスのチューニングのヒントとコツMay 08, 2025 am 12:20 AM

phpperformancetuningisucial cuseenhancess andandandadsand。

PHP電子メールセキュリティ:電子メールを送信するためのベストプラクティスPHP電子メールセキュリティ:電子メールを送信するためのベストプラクティスMay 08, 2025 am 12:16 AM

bestpracticesforsendingemails securlyinphpinclude:1)sutureconsmttarttlsencryptionとの使用の使用、2)検証およびサンシジン化のinputStopReventinjectuctacks、3)adinitivedinitivedInemailsopenslsl、4)adlinglinglingemailoaに

パフォーマンスのためにPHPアプリケーションをどのように最適化しますか?パフォーマンスのためにPHPアプリケーションをどのように最適化しますか?May 08, 2025 am 12:08 AM

tooptimizephpapplicationsforporformance、usecaching、databaseoptimization、opcodecaching、andserverconfiguration.1)cachingwithedatedatedatafethtimes.2)最適化バイズビーインデキシング、readedandandandwriteoperations.3)

PHPの依存噴射とは何ですか?PHPの依存噴射とは何ですか?May 07, 2025 pm 03:09 PM

依存関係の依存性、テスト可能性、および維持可能性の依存性の依存性の依存性、および維持可能性は、エクステルンド依存性を維持する可能性があります

最高のPHPパフォーマンス最適化手法最高のPHPパフォーマンス最適化手法May 07, 2025 pm 03:05 PM

PHPパフォーマンスの最適化は、次の手順を通じて実現できます。1)スクリプトの上部にrequire_onceまたはinclude_onceを使用して、ファイルの負荷数を減らすことができます。 2)プリプロセシングステートメントとバッチ処理を使用して、データベースクエリの数を減らします。 3)OpCodeキャッシュのOpCacheを構成します。 4)PHP-FPM最適化プロセス管理を有効にして構成します。 5)CDNを使用して静的リソースを配布します。 6)コードパフォーマンス分析には、XdebugまたはBlackfireを使用します。 7)配列などの効率的なデータ構造を選択します。 8)最適化実行のためのモジュラーコードを記述します。

PHPパフォーマンスの最適化:OpCodeキャッシングの使用PHPパフォーマンスの最適化:OpCodeキャッシングの使用May 07, 2025 pm 02:49 PM

opcodeCachingsificlyprovesppherformanceBycachingCompiledCode、reducingServerloadandResponsetimes.1)itStoresPhpCodeInMemory、バイパス補助補強団体

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール