目次
返信内容:
ホームページ バックエンド開発 PHPチュートリアル javascript - オブジェクト指向はまずプロセス指向である必要がありますか? コンポーネント化とモジュール化との類似点と相違点は何ですか?

javascript - オブジェクト指向はまずプロセス指向である必要がありますか? コンポーネント化とモジュール化との類似点と相違点は何ですか?

Jul 06, 2016 pm 01:53 PM
c javascript php コンポーネント化 オブジェクト指向プログラミング

親愛なる先輩方、すべてのオブジェクト指向の人はまずプロセス指向である必要がありますか?
オブジェクト指向プログラミングでは、オブジェクト間の論理関係を素早く整理して特定するにはどうすればよいでしょうか?
オブジェクト指向の柔軟性はどこに反映されていますか?
オブジェクト指向は、より重い開発に適していますよね? 通常の JS でカルーセルなどの小さなエフェクトを記述するには、やはりオブジェクト指向が必要ですか?
JavaScript におけるオブジェクト指向とコンポーネント化の類似点と相違点は何ですか?また、モジュール化との類似点と相違点は何ですか?

返信内容:

親愛なる先輩方、すべてのオブジェクト指向の人はまずプロセス指向である必要がありますか?
オブジェクト指向プログラミングでは、オブジェクト間の論理関係を素早く整理して特定するにはどうすればよいでしょうか?
オブジェクト指向の柔軟性はどこに反映されていますか?
オブジェクト指向は、より重い開発に適していますよね? 通常の JS でカルーセルなどの小さなエフェクトを記述するには、やはりオブジェクト指向が必要ですか?
JavaScript におけるオブジェクト指向とコンポーネント化の類似点と相違点は何ですか?また、モジュール化との類似点と相違点は何ですか?

この質問は内容が多すぎるので、挑発的な方法で話しましょう。

ソフトウェア開発におけるプロセス指向は絶対的であり、プログラム = プロセスの秩序ある実行です。実は以前はプロセス指向という概念はありませんでしたが、オブジェクト指向が登場してからは、それまでの関数を使ってコードを構成する方法と区別するために、関数を使ってコードを構成することをプロセス指向と呼ぶようになりました。 。 (あくまで個人的な意見です)
オブジェクト指向はコードを整理する方法です。さまざまな利点があります。自分で調べてください。

上記からわかるように、プロセス指向またはオブジェクト指向はコードの編成を指し、コンポーネント化とモジュール化はプロジェクト内の機能の編成を指すため、この 2 つは互いに関係がありません。

マイクロエレクトロニクスのメンテナンス中にモジュールが破損した場合は、モジュールを交換するだけです。 したがって、ソフトウェア開発に拡張すると、モジュール化とは、コードが明確にカプセル化され、プロジェクト全体に影響を与えるのではなく、明確な範囲を持つことを意味します。
日常的に使用されるさまざまなツールは、実際にはコンポーネントの概念に基づいており、モジュールの範囲に制限されることなく、頻繁かつ広く再利用されます。

さまざまな質問について、最終的な答えは変わりません。ニーズに応じて、要件を満たすだけです。 コードの可読性、柔軟性、保守性は要件の一部であり、非常に非常に重要であることに注意してください。

非常に簡単な比較:

リーリー

設計内容はたくさんあります。オブジェクト指向とプロセス指向は 2 つの異なる考え方ですが、プロセス指向は分析であり、オブジェクト指向は構築です。コンポーネント化とモジュール化はオブジェクト指向とプロセス指向の産物です(個人的な意見です)

プロセス指向とモジュール型、これらはプログラムを作成するために必要です。
プロセス指向とは分かりやすい、すべてのプログラムはプロセスである
モジュール化も分かりやすい、つまりプログラムのプロセスの中で独立できる部分を分離してプログラムの可読性を確保し、制御するかどうかエラーまたはバグの除去 すべてがより簡潔になります。 C を学習し、その後 C++ を学習した人は、構造体とオブジェクトの違いは何でしょうか。構造体にはメソッドがないと言うと、どちらもコードをモジュール化する役割を果たします。構造体には関数ポインタを定義することもできると思いますが、多くの場合、構造体にはこのポインタと構文上の違いはないと思います。コンストラクタなどについては、構造体の方が単純です。やれ。

私が言いたいのは、オブジェクト指向で最も重要なことは継承であるということです
私が学生の頃、先生は例を挙げました。例えば、人間を親クラスだとすると、教師クラスと生徒クラスです。を導出でき、学生クラスからは男子クラスと女子クラスを導出できます。
しかし、この例は非常にナンセンスで貧弱です。学生は授業を行うときに、これほど多くの無駄な授業を導き出すことはありません。
そして実際、ほとんどの開発者は、プログラムの可読性の低下につながる奇妙なクラスをランダムに派生させることはありません。
それでは、クラスの継承は通常どこで使用されるのでしょうか?
実際の例を教えてください

私は最近 React を書きました。状態を含む各コンポーネントの先頭は次のように書かれています。class XXX extends React.Component{}
ここで、React.Component を継承している限り、コンポーネントには render メソッドがあり、これは次のようになります。クラスのコンテンツは Web ページに表示されます。コンポーネントには、コンポーネントが新しいデータを受信したときに必要なプロセスを実行できる、componentWillReceiveProps メソッドもあります。これらがどのように発動するかは気にする必要はありませんが、確実に発動することはわかっています。これはクラスを継承することで得られる能力です。

同様に、VS を使用して WPF ウィンドウ プログラムなどを開発する場合、フォームも Microsoft の基本ライブラリからクラスを継承するため、フォームには基本的なクリック応答、ドラッグ アンド ドロップ、およびさまざまな機能が含まれます。自分で書く必要はありません。

フレームワークも色々ありますが、フレームワークの基本クラスを継承すれば、フレームワークが提供する機能を取得することができます。

教科書でオブジェクト指向について言及されるときは、通常、ソフトウェア工学について言及されます。また、「人月の神話」という本も同様です。ソフトウェア工学とオブジェクト指向は、プログラマーが大規模なソフトウェアを開発するときに要約するものです。 、家を建てるときと同じように、まず基礎を築きます。基礎が築かれたら、その上にさらに多くの機能を積み上げます。したがって、学生のうちに教科書に従って演習を行うだけでは、オブジェクト指向のさまざまな意味を理解することはできません

ははは。素晴らしい質問ですね。最初にマークして、後で時間をかけて答えます

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

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 にアップグレードする方法について説明します。

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 は、

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

See all articles