2

効率やその他の観点から、次の2つのアプローチの違いを知りたいです:(これらのコードはHTML5 Canvasを使用して記述されています)

  1. 1つ目は、drawScreen()関数と、すべてdrawScreen()を呼び出すイベント処理関数を含む個別の関数を持っています。

  2. もう1つには、イベントを処理するための他の関数とともに、内部にdrawScreen()を含むすべての関数を含む関数canvasApp()があります。これらの関数は、内部でdrawScreen関数を再度呼び出します。

コードはとても長いですが、説明が十分に明確でない場合は、コードを入れます。

4

2 に答える 2

2

呼び出す関数を示すパラメーターを受け取る関数を1つ持つか、各関数を直接呼び出すだけのようです。私が間違っている場合は訂正してください。

私は個人的に別々のオプションで行きます。それらをグローバル関数内にカプセル化すると、機能や単純さの点で何がもたらされるのかわかりません。関数が明確に定義され、文書化されている限り、これがおそらく最良のアプローチであると私は信じています。

より詳細な回答を提供させていただきますが、アーキテクチャ全体についてもう少し詳しく説明する必要があります(おそらくいくつかの擬似コードを使用して)。

于 2012-12-14T13:44:26.907 に答える
2

これはかなり宗教的な質問です。

Javascriptは、手続き型、機能的、およびオブジェクト指向プログラミングの概念を組み合わせたプログラミング言語であるため、さまざまなプログラミングパラダイムで機能することができます。

オプション1は手続き型アプローチであり、2つはオブジェクト指向アプローチです。これで、どのプログラミングパラダイムが最適であるかについて無限の議論をすることができましたが、結果は得られませんでした。

どのプログラミングスタイルが自分に最も適していて、アプリケーションに最も適しているかを自分で知る必要があります。

于 2012-12-14T13:48:16.480 に答える