JavaScript_JavaScript モジュール性を採用するためのヒント
私たちは再びコンピューターという用語と概念に包まれています。
backbone、emberjs、spinejs、batmanjs およびその他の MVC フレームワークが侵入しました。
CommonJS、AMD、NodeJS、RequireJS、SeaJS、curljsモジュール式 JavaScript が登場するのを待ちます。
モジュール型 JavaScript の概念は特に強く、2007 年の Ajax のトレンドに追いついているように見えます。
1. 関数の作成 (手続き型)
2005 年以前は、JavaScript はあまり注目されておらず、フォーム検証などの少数のアプリケーションでのみ使用されていました。当時、Web ページに JS コードは数行しか記述できず、1,000 行は非常に複雑だと考えられていました。このとき、コードのまとめ方はプロセスであり、数十行のコードに対して関数を一つも書く必要はありません。もう少し複雑にするには関数を抽象化する必要があり、より複雑にするにはさらに多くの関数が必要になり、関数は相互に呼び出します。
2. クラスの作成 (オブジェクト指向)
2006 年、Ajax は世界を席巻しました。 JavaScript は真剣に受け止められており、バックエンド ロジックがフロントエンドに配置されることが増えています。 Web ページ内の JS コードの量は劇的に増加しました。現時点では、大量のコードを整理するための関数を記述するだけでは不十分であると思われます。小さな関数をデバッグするときに、1 つの関数から N 番目の関数にジャンプすることがあります。この頃、クラスの書き方が登場し、Prototypeが普及の先駆けとなりました。これを使用してコードを整理し、各クラスを Class.create で作成します。 YUI や Ext などの重量級フレームワークもあります。クラスの記述方法はそれぞれ異なりますが、設計上のアイデアはすべて、大量の JavaScript コードの開発に対応するためのものです。
3. モジュールの作成 (現在、将来?)
2009 年に Nodejs が誕生しました。このサーバーサイド JavaScript はモジュール式の記述方法を採用しており、すぐにブラウザサイド JSer を征服しました。優秀な人材が次々と追随し、モジュールを書くための様々な仕様も次々と登場しています。 CommonJSはフロントエンドとバックエンドの記述方法を統一したいと考えており、AMDはブラウザ側に適していると考えている。そうですね、モジュールを記述するスタイルがどのようなものであっても、モジュール式 JavaScript を記述することが一般的になってきています。準備はできたか? (えっと、挑発的です)
ねえ、モジュラー JavaScript って何ですか? これも私たちが発明した特効薬なのでしょうか?それが何であれ、とにかく勉強してください。プロジェクトでの使用に適しているかどうかについては、各個人の判断に委ねられています。
これを書いているとき、私は「モジュール」について何も言いませんでした。実際、コンピュータ分野では、モジュール化の概念が 40 年近くにわたって推進されてきました。ソフトウェアの全体的な構造はモジュール化の考え方を体現しています。つまり、ソフトウェアはいくつかの独立した名前のコンポーネントに分割されており、各コンポーネントはモジュールと呼ばれます。すべてのモジュールが一緒に組み立てられると、問題の解決策が得られます。得られた。
モジュール化は分割統治法に基づいていますが、ソフトウェアを無制限に細分化できることを意味しますか?実際、分割が細かくなりすぎてモジュールの総数が増加すると、各モジュールのコストは下がりますが、モジュール インターフェイスのコストは増加します。モジュールを適切にセグメント化するには、情報の隠蔽、凝集、結合を理解する必要があります。
情報の隠蔽
モジュールは、モジュールに含まれる情報 (プロセスとデータ) が、それを使用する必要のないモジュールから見えないよう設計する必要があります。各モジュールは独立した機能のみを完了し、この機能のインターフェイスを提供します。モジュールにはインターフェイスを介してアクセスします。 JavaScript では、関数を使用してインターフェイス オブジェクトを非表示にし、カプセル化し、返します。以下は、イベント管理を提供するモジュール イベントです。
event = function() {
// さらに実行します
return {
bind: function() {},
unbind: function() {},
trigger: function() {}
}; ();
関数内で目的のインターフェイスのバインド、バインド解除、トリガーを実装するには、大量のコードを記述する必要がある場合がありますが、これらのコード (プロセスとデータ) を他のモジュールに公開する必要はありません。インターフェイスのバインド、バインド解除、トリガーが外部からアクセスできる限り、可能です。
モジュール設計における情報隠蔽のメリットは、モジュールの並行開発をサポートするだけでなく、テストやポストメンテナンスの作業負荷も軽減することは明らかです。将来コードを変更する場合は、インターフェースが変更されていない限り、モジュールの非表示部分を自由に変更できます。たとえば、イベント モジュールが最初に実装されたとき、古いバージョンの IE と標準ブラウザとの互換性を保つために、多くの IE 特別コードが作成されました。ある日、古いバージョンの IE が消滅しました (申年)。午の月)、落ち着いて削除するだけで済みました。
Cohesion
Cohesion は、モジュールの内部実装を指します。これは、情報の隠蔽とローカリゼーションの概念の自然な拡張であり、モジュール内でのコンポーネントの緊密な統合を示します。モジュールの度。利点も明らかで、関連するタスクがグループ化されると非常に読みやすくなります。
設計時には、モジュールの独立性を高めるために、モジュールの凝集性を可能な限り改善する必要があります。
結合度
結合度は特定のモジュールの内部実装の尺度を指し、結合度はモジュール間の関連度の尺度を指します。結合の程度は、モジュール間のインターフェイスの複雑さ、モジュールが入力または呼び出される場所などによって異なります。凝集性とは対照的に、設計時には疎結合システムを追求する必要があります。

ホット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)

ホットトピック











WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

JavaScript で HTTP ステータス コードを取得する方法の紹介: フロントエンド開発では、バックエンド インターフェイスとの対話を処理する必要があることが多く、HTTP ステータス コードはその非常に重要な部分です。 HTTP ステータス コードを理解して取得すると、インターフェイスから返されたデータをより適切に処理できるようになります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法と、具体的なコード例を紹介します。 1. HTTP ステータス コードとは何ですか? HTTP ステータス コードとは、ブラウザがサーバーへのリクエストを開始したときに、サービスが

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。
