2011-10-18 9 views
0

私は他の開発者が独自のアプリケーションを構築できるようにするJavaScriptアプリケーションを開発中です。それらのためのフレームワークが提供されます。開発者のためのフレームワークを構築する方法

私の質問:私は、開発者が特定の機能やオブジェクトへのアクセス権を持っているように、このフレームワークを実装するにはどうすればよい

。たとえば、私はウィンドウオブジェクトの特定のプロパティへのアクセスを防止したいと思います。

私は良い解決策だと信じているコードを解析することを考えました。しかし、私はそれが難読化されたコードでうまくいくとは思っていません。

私はそれをどうするべきかに関するいくつかの提案をしたいと思います。

+0

...このようなものにあなたを取得する必要があります「javascriptのプライベート機能」を検索すると、あなたは、「ウィンドウと親オブジェクト」で正確に何を意味するのですか?なぜあなたは 'window'を使わないようにしますか? – pimvdb

+0

誰かがウィンドウを使用しないようにすると、グローバル変数がウィンドウの名前空間にあるため、潜在的にすべてを使用することを防ぎます。私はこれが良い考えだとは思わない。 – dmitry

+0

可能であれば、既存のソリューションへのリンクを提供して、人々がそれに基づいてフィードバックを出しやすいようにします。 :)ただし、クロージャを使用することを検討すると、特定のプロパティを隠すことができます。あなたが公開したいものを返すだけです。 –

答えて

3

あなたのアプローチに欠陥があるようです。あなたは、実際にアクセスするのに使用されていることを隠すことによって、開発者と「戦う」ことを望んでいません。

私は、開発者が期待する方法でフレームワークを使用できるようにする完全な(よく書かれている)APIを提供することをお勧めします。彼らのユースケース(あなたのプラットフォームの使用方法)を理解し、あなたの "サポートされている"オブジェクトに固執するAPIを提供してください。

カプセル化の一般的な話題(たとえば、関数をプライベートにする)では、Javascriptで使用できるさまざまなパターンがあります。 JavaScript Patternsのような本はあなたのための参考になるでしょう。また、

JavaScript private methods

関連する問題