2011-10-18 48 views
0

我正在研究讓其他開發人員在其上構建自己的應用程序的JavaScript應用程序。將爲他們提供框架。如何爲開發人員構建框架

我的問題:

如何在這樣一種方式,開發人員可以訪問某些功能或對象實現這個框架。例如,我想阻止訪問窗口對象的某些屬性。

我想過解析他們的代碼,我認爲這是一個很好的解決方案。但我不確定它會對混淆代碼起作用。

我想就如何做到這一點提出一些建議。

+0

正是你的意思與「窗口和父對象」是什麼?爲什麼你會阻止使用'window'? – pimvdb

+0

如果您阻止某人使用窗口 - 您會阻止使用潛在的所有內容,因爲全局變量位於窗口命名空間中。我懷疑這是一個好主意。 – dmitry

+0

如果可能,請提供與現有解決方案的鏈接,以便人們可以更輕鬆地根據該解決方案提供反饋。 :)但是,您可能要考慮使用閉包,因爲這些可以隱藏某些屬性。只要返回你想要公開的那些。 –

回答

3

您的方法聽起來有缺陷。你真的不希望與開發者通過隱藏他們習慣訪問的東西來「對抗」。

我建議您嘗試並提供一個完整的(且有據可查的)API,鼓勵開發人員以您期望的方式使用您的框架。瞭解他們的用例(您希望他們如何使用您的平臺),並提供API,使您能夠毫不費力地堅持您的「受支持」對象。

關於封裝的一般主題(例如,使功能私人化),那麼您可以在Javascript中使用各種模式。一本書,如JavaScript Patterns將是一個很好的參考。另外,搜索「JavaScript的私人活動」應該讓你的東西,因爲這...

JavaScript private methods

相關問題