2011-01-19 15 views
4

私は、JavaScriptとプログラミングの初心者です。私は最初のWebアプリケーションを作成し始めました。オブジェクト指向のアプローチを使って書き直したいと思います。私はオブジェクト指向のJSに関するいくつかの記事や書籍の章を読んで、名前空間、モジュールパターンなどをシミュレートする方法について学んできましたが、オブジェクト内にコードを整理する方法を考えるのは苦労しています。いくつかの例やベストプラクティスを正しい方向に向けるようにしてください。ベストプラクティスとオブジェクト指向のjavascriptを整理する方法の例?

私は名前空間(appと呼んでいます)とその内部のすべてのアプリケーション関数、たとえばapp.func1、app.func2のようなjQueryのような整理を考えていましたが、それらの内部で使用される他の関数がありますこれはユーティリティのようなもので、私はapp.util.funcのような別の名前をつけたいと思っています...また、自分のアプリケーション内にカスタムオブジェクトを作成するコードもありますが、どこにそれらを置くのが適切かわかりませんそれらのコンストラクタは私の名前空間の中にあります。

オブジェクト指向のjavascriptを整理する方法に関する提案、アイデア、ベストプラクティス、テンプレート、または例がありますか?単純なライブラリのようなコードを作成する例は素晴らしいでしょう。

ありがとうございます!

答えて

7

私は名前空間をシミュレートする方法についてオブジェクト指向のJSにいくつかの記事や書籍の章を読んで、...

私はJavaScriptで、古典的なOOパラダイムをシミュレートしません。 JavaScriptにとって自然なことを守るべきです。

古典的な継承をしないでください。プロトタイプの継承を使用するか、継承を使用しないでください:JavaScriptでは、コンポジション/デコレーションが継承よりも優れています。

名前空間は必要ありません。彼らは不必要な間接を引き起こし、エンタープライズのコードが乱雑になる。クロージャー内で関数と変数を隠す良いモジュールパターンを使用してください。

RequireJSのようなモジュールローダーを試してみてください。独自のファイルとクロージャでモジュールを非表示にし、RequireJSに依存性注入の魔法をさせることができます。

JSアプリケーションファイルの整理は、非常に幅広いトピックです。あなたは、MVCやMVPのようなパラダイムを使って懸念の分離に基づいてクラスを整理することができます。プロジェクトの構成に関しては、Maven上でアプリケーションを構築すること(そしてその慣習に従うこと)はオプションになる可能性があります。

あなたの質問は非常に高いレベルであったため、Googleに読んで読んでいただきたいアイデアやキーワードを投げたかっただけです。たぶん、いくつかの研究と試練と苦難の後、戻ってより具体的な問題を尋ねることができます。

+0

私は、名前空間が重要であると主張します。さまざまな関数と変数を使ってグローバルな 'window'オブジェクトを混乱させたくありません。 – hellatan

+0

私は彼らが重要ではないと言っていませんでした。彼らは通常、過度に使用されます。グローバルスコープを整理しておく方がはるかに優れています。私は単に 'com.mycompany.mylib.enterprise.ajax'のような用途に反対します。 –

+0

ありがとう、私はそれらのアイデアについてもっと詳しく調べています。 – VerizonW

関連する問題