ホームページ バックエンド開発 PHPチュートリアル PHP デザイン パターン - UML クラス図_PHP チュートリアル

PHP デザイン パターン - UML クラス図_PHP チュートリアル

Jul 14, 2016 am 10:11 AM
php uml 一度 書く 準備する 序文 開発する 使用 使用 デザインパターン

はじめに
私は 2 年以上 PHP で開発しており、一般的に使用されるデザイン パターンについて、すべて私自身の実際の経験に基づいて書いていきます。もちろん、デザイン パターンを使用する前に、まずデザイン パターンを理解する必要があります。 UMLのクラス図を説明します。 UML クラス図を使用すると、全員とのコミュニケーションが向上し、設計アイデアを簡単に表現できます


UML
統一モデリング言語 (UML) は、統一モデリング言語または標準モデリング言語とも呼ばれ、1997 年に開始された OMG 標準です。これは、モデリングとソフトウェア システム開発をサポートするグラフィカル言語であり、ソフトウェア開発と視覚化のすべての段階にモデルを提供します。要件分析、仕様、構築、構成を含むサポート


クラス
長方形のボックスがクラスを表しており、クラス図は3つの層に分かれています
最初のレベルはクラスの名前です。抽象クラスの場合、クラス名は写真の動物クラスのように斜体で表示されます。 2 番目の層はクラスの特性 (通常はクラスのメンバー属性) です
3 番目のレベルはクラス操作 (通常はクラスのメンバー メソッド) です
注: 「+」はパブリックを表し、「-」はプライベートを表し、「#」は保護を表します


動物クラスは抽象クラスなのでインスタンス化できませんが、人間はインスタンス化できます

インターフェース
インターフェースの表現方法には、長方形表現(運転するためのインターフェース)とロリポップ表現(人間が運転するためのインターフェース)の2種類があります。
<><>が先頭にある四角形の表記、1行目はインターフェイス名、2行目はインターフェイスメソッドです
ロリポップ表記、円の横にインターフェイス名があり、人間が車を運転する場合、インターフェイス メソッドが実装クラスに表示されます


一般化
クラス間の継承関係、インターフェース間の継承関係、またはクラスとインターフェース間の実装関係を表します。一般化された関係は、継承または実装されたメソッドとは対照的に、サブクラスから親クラスへの関係です。継承を表すには、白抜きの三角形 + 実線を使用します。静的構造図で、親クラスと子クラスの間の帰納的接続をドラッグ アンド ドロップします。矢印は親クラスを指し、もう一方の矢印は子クラスを指します。実装インターフェイスを表すには、中空の三角形 + 点線を使用します。


依存関係
2 つの比較的独立したオブジェクトの場合、一方のオブジェクトが他方のオブジェクトのインスタンスの構築を担当する場合、または他方のオブジェクトのサービスに依存する場合、主に 2 つのオブジェクト間の依存関係が反映されます。依存関係は、ローカル変数、メソッド パラメーター、および静的メソッドの呼び出しに具体化されます。たとえば、動物には、代謝、生殖、生命など、いくつかの主要な特徴があります。動物が生きていくためには、酸素、水、食物が必要です。つまり、動物は酸素と水に依存しているということです。
コードのパフォーマンス
ローカル変数、メソッドパラメータ、または静的メソッドの呼び出し


集計
集合関係とは、全体と部分との関係であり、部分は全体から独立して存在することができる。車とタイヤの関係が全体と一部である場合、タイヤは車がなくても存在できます。中空のひし形の実線で表されます

コードのパフォーマンス
メンバー変数


構成
それは全体と部分の関係ですが、全体がなければ部分は単独で存在することはできません。例えば、会社とパートは結合関係にあります

コードのパフォーマンス
メンバー変数


追記
まだまだ追加すべき点があるので、覚えておいてください。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/477275.html技術記事はじめに 私は 2 年以上 PHP で開発しており、一般的に使用されるデザイン パターンについて、すべて私自身の実際の経験に基づいて書きます。 もちろん、デザイン パターンを使用する前に、まずデザイン パターンを理解する必要があります。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

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

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

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

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

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

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

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

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles