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 の自動増分主キーの残りの使用可能パーセンテージをカウントします。

推薦する

SpringBootはActiviti7実装コードを統合する

Activiti7 の正式リリース以降、SpringBoot2.x との統合開発を全面的にサポートし...

Windows での MySQL の使用: 自動スケジュールバックアップの実装

1. バックアップスクリプトを書く 著者:www.yumi-info.com 日付:20171222...

Nginx + consul + upsync を使用して動的負荷分散を実現する方法の詳細な説明

目次前提条件DNSドメイン名解決プロセス外部ネットワークマッピングnginxコア知識nginxとはア...

JavaScript 配列メソッドの詳細な例

目次導入配列の作成作成方法詳しい説明方法参加する() push() と pop() shift() ...

Ubuntu環境でのPHP関連のパスと変更方法

Ubuntu環境におけるPHP関連パスPHP パス /usr/bin/php phpize5 /us...

VMWare仮想マシンのcentosの時間が現地時間と矛盾する問題を解決する

VM Ware 仮想マシン CentOS の時刻は、次の図に示すように、現地時間と一致しません。おそ...

Element PlusはAffixを実装します

目次1. コンポーネントの紹介2. ソースコード分析2.1 テンプレート2.2 スクリプト2.3 実...

ページ内にマーキーとフラッシュが共存する場合の競合解決

競合の主な症状は、FLASH ボタンがジャンプし続け、不安定になり、Web ページの外観と通常のアク...

Windows 10 1903 エラー 0xc0000135 の解決方法 [推奨]

Windows 10 1903 は、2019 年に Microsoft がリリースした Windo...

HTML のタイトル、段落、改行、水平線、特殊文字についての簡単な説明

タイトルXML/HTML コードコンテンツをクリップボードにコピー< h1 >第 1 レ...

IE6はmin-widthを実装している

まず第一に、この効果は古い話題であるはずだということはわかっています。今日ファイルを整理していたら、...

mysql8.0.19 winx64バージョンのインストール問題を解決する

MySQL は、スウェーデンの会社 MySQL AB によって開発されたオープンソースの小規模なリレ...

MySQLにおけるMTRの概念

MTR は Mini-Transaction の略です。名前が示すように、これは「最小のトランザクシ...

CSS3でカルーセル画像を作成する方法

スライドショーは Web ページでよく見られます。美しい写真が使われています。こちらは純粋な CSS...

Linux でのマルチスレッドにおけるフォークの紹介

目次質問:ケース(1)子スレッドを作成する前にフォークするケース(2)子スレッドを作成した後にフォー...