JSでよく使われるデザインパターン(4)――アダプターパターン
1749 ワード
昨年はdev.qplusを開発していましたcomは、アプリケーションの分類idを格納jsファイルがあり、分類idの構造は最初に設計するのが比較的重い.そこで私はリファクタリングを決めました私はそれをjsonツリーの形式に定義しました.多分そうです.
dev.qplus.comには4,5ページほどこのcategoryオブジェクトが呼び出されています.春節の前に1週間休みました.年を越してからメールボックスにメールがあることに気づいて、データベースを設計した学生はcategory.jsも再構築され、他のいくつかのプロジェクトではこのcategoryが使われています.js、私が持ってきてみると馬鹿で、私が前に決めたデータ構造とは全然違います.
もちろんこれはコミュニケーションの反面の例です.次のポイントはNファイルで前に注文したcategoryを使ったことですjs. 複雑な論理を引き起こしましたどうやって私の前のコードを変更しますか?全部書き直すのはいやに違いない.アダプタが役に立ちました
同僚のcategoryを1つの関数で私が前に定義したように変えるだけです.
アダプタモードの役割は回転インタフェースに似ている.もともとiphoneの充電器はパソコンのシャーシに直接差し込むことはできませんが、usbを介してインタフェースを回すだけでいいのです.
したがって、プログラムではアダプタモードも2つのインタフェースに適しています.例えば、カスタムjsライブラリを使用しています.idに基づいてノードを取得する方法$id()がある.ある日、jqueryの$はもっとクールに実現されていると思いますが、エンジニアに新しいライブラリと文法を勉強させたくありません.そのアダプタはあなたにこのことを完成させることができます.
1 var category = {
2 music: {
3 id: 1,
4 children: [ , , , , ]
5 }
6 }
dev.qplus.comには4,5ページほどこのcategoryオブジェクトが呼び出されています.春節の前に1週間休みました.年を越してからメールボックスにメールがあることに気づいて、データベースを設計した学生はcategory.jsも再構築され、他のいくつかのプロジェクトではこのcategoryが使われています.js、私が持ってきてみると馬鹿で、私が前に決めたデータ構造とは全然違います.
もちろんこれはコミュニケーションの反面の例です.次のポイントはNファイルで前に注文したcategoryを使ったことですjs. 複雑な論理を引き起こしましたどうやって私の前のコードを変更しますか?全部書き直すのはいやに違いない.アダプタが役に立ちました
同僚のcategoryを1つの関数で私が前に定義したように変えるだけです.
my.category = adapterCategory ( afu.category );
アダプタモードの役割は回転インタフェースに似ている.もともとiphoneの充電器はパソコンのシャーシに直接差し込むことはできませんが、usbを介してインタフェースを回すだけでいいのです.
したがって、プログラムではアダプタモードも2つのインタフェースに適しています.例えば、カスタムjsライブラリを使用しています.idに基づいてノードを取得する方法$id()がある.ある日、jqueryの$はもっとクールに実現されていると思いますが、エンジニアに新しいライブラリと文法を勉強させたくありません.そのアダプタはあなたにこのことを完成させることができます.
$id = function( id ){
return jQuery( '#' + id )[0];
}