JavaScript フレームワーク デザイン パターンの詳細な説明

JavaScript フレームワーク デザイン パターンの詳細な説明

動画

ここに画像の説明を挿入

Model(模型) - モデルは、データを保存および取得するオブジェクトまたは JAVA POJO を表します。データが変更されたときにコントローラーを更新するロジックを含めることもできます。

View(視圖) - ビューは、モデルに含まれるデータの視覚化を表します。

Controller(控制器) - コントローラーはモデルとビューに対して動作します。モデル オブジェクトへのデータの流れを制御し、データが変更されたときにビューを更新します。ビューとモデルを分離します。

一方通行です

最優秀選手

ここに画像の説明を挿入

MVP の核となるのはプレゼンター層です。この層の核となるのは DOM 要素の操作です。jQuery によるリスト ページの実装を例にとると、プレゼンターは主にモデル内のデータをループで HTML タグと結合し、ビューに追加します。

ムヴヴム

ここに画像の説明を挿入

mvvm の核はモデル層にあり、その核はデータに対する操作です。mvp モードと比較すると、コーディングの焦点は dom に対する操作からデータに対する操作に移っています。 VM レイヤーはビュー レイヤーにデータを表示し、ビュー レイヤーのデータをモデル レイヤーに渡します。 VueはviewModelの典型的な例です

Vueのソース

VueはReactの仮想DOM技術とAngularのNGディレクティブ技術を活用しています。

スパ mpa

MPA: 複数ページのアプリケーション

特徴: 最初の読み込みは高速ですが、その後の読み込みは低速です。初期の開発コストは低いですが、その後の保守コストは高くなります。

SPA: シングルページアプリケーション

最初の読み込みは遅くなりますが、その後の読み込みは速くなります。初期の開発コストは高いが、その後の保守コストは低い。 (主に再利用が多い)

要素を作成する

var li = document.createElement(ele,src,content);
//ele 作成する要素 //src 要素の属性 //content 要素の内容var li = document.createElement('li',{className='list-li'},'123');
<li className="list-li">123<li>

クラス

クラス Person {
   コンストラクタ(x,y) {
      this.x = x;
   }
   追加() {
      コンソールにログ出力します。
   }
}
var person = new Person(1,2);
typeof Person // 関数 クラスの本質はコンストラクタです Person === Person.prototype.constructor //true クラスはコンストラクタのプロトタイプを指します person.hasOwnProperty(x); //true
person.hasOwnProperty(y); //偽
person.hasOwnProperty(add); // 偽
コンストラクタ内のこれはインスタンス化されたオブジェクトを指しているので、xはpersonのプロパティであり、yとaddはPerson.prototype person.__proto__.hasOwnProperty(add) //trueに追加するのと同じです。

クラス内の関数は、コンストラクターのプロトタイプに追加するのと同じです。

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • JavaScript デザインパターン戦略パターン実装原則詳細説明
  • JavaScript デザイン パターン - ビジター パターンの原則と使用例の分析
  • JavaScript デザインパターン - テンプレートメソッドパターンの原則と使用例の分析
  • JavaScript デザイン パターン - オブザーバー パターンの原則と使用例
  • JavaScript デザインパターン - 状態パターンの原則と使用例
  • JavaScript と JQuery フレームワークの基本チュートリアル

<<:  独自のサーバーを素早く構築する方法の詳細なチュートリアル(Java 環境)

>>:  Prometheus を使用して、MySQL の自動増分主キーの残りの使用可能パーセンテージをカウントします。

推薦する

W3C チュートリアル (11): W3C DOM アクティビティ

ドキュメント オブジェクト モデル (DOM) は、プログラムがドキュメントのコンテンツ、構造、およ...

Navicat がデータベース データ構造をインポートする際に発生するエラー datetime(0) の SQL レポートの問題を解決します。

エラー発生: MySQL 5.7 から SQL にデータベースをエクスポートし、それを MySQL ...

MySQLトリガートリガー例の詳細な説明

目次トリガーとは何かトリガーを作成する表は次のようになります。さらにいくつかの単語を挙げます。制限と...

W3C チュートリアル (13): W3C WSDL アクティビティ

Web サービスは、アプリケーション間の通信に関係します。 WSDL は、XML ベースの Web ...

MySQLの自動増分IDについて知っておくべきこと

はじめに: MySQL を使用してテーブルを作成する場合、通常は自動インクリメント フィールド (A...

MySQL データ型の完全分析

データ型: 列に格納できるデータとそのデータが実際にどのように格納されるかを定義する基本ルール。デー...

Nginx Rewrite の使用シナリオと設定方法の分析

Nginx Rewriteの使用シナリオ1. URL アドレスジャンプ。たとえば、ユーザーが pm....

Vueはドラッグ可能なツリー構造図を実装します

目次Vue 再帰コンポーネントドラッグイベント最近、Vue を使用して、ドラッグ可能なツリー構造図と...

ウェブサイトのテキストはまだデザインする必要がありますか?

多くの人が、ウェブサイト上のテキストはデザインする必要があるのか​​と疑問に思うかもしれません。多く...

Uniappの小規模プログラム開発経験

1. 新しいUIプロジェクトを作成するまず、私たちの UI は ColorUI に基づいています。C...

子要素の margin-top によって親要素が移動する問題の解決方法

問題の説明今日、ページ スタイルを変更していたときに、子要素にmargin-top設定したのに、子要...

最新の超詳細な VMware 仮想マシンのダウンロードとインストールのグラフィック チュートリアル

目次1. 仮想マシンをダウンロードする2. 仮想マシンのインストールVMware のダウンロードとイ...

Javascript Bootstrapのグリッドシステム、ナビゲーションバー、カルーセルの詳細な説明

目次ブートストラップと関連コンテンツの紹介グリッドシステムネストされた列列オフセット列の並べ替えナビ...

K8Sの5つのコントローラーの紹介と使用

目次k8sのコントローラータイプポッドとコントローラの関係デプロイメント(ステートレスアプリケーショ...

同じ日の最初の3つのデータを取得するためのMySQLタイムラインデータ

テーブルデータを作成する テーブル `praise_info` を作成します ( `id` bigi...