因此,我正在製作這個關於監獄和囚犯等的應用程序,我正在使用Observer Pattern。 理想情況下,我想只有一個名爲App的全局變量,並且我想在我的App中使用提供的Observer Pattern代碼(在上面的鏈接中)作爲幫助。Javascript代碼結構
例如
function App() {
this.helpers = {
prisoners: function ObserverList() {
this.observerList = [];
ObserverList.prototype.Add = function(obj){
return this.observerList.push(obj);
};
//more stuff
},
prison: function Subject() {
this.observers = new ObserverList();
Subject.prototype.AddObserver = function(observer){
this.observers.Add(observer);
};
//more stuff
},
...
};
this.alcatraz = new this.helpers.prison();
我的問題是,是否在維修而言,這是有意義的,最佳實踐等? 它肯定比僅僅將Observer代碼轉儲爲App內部的一些內部函數要好。
由於此次重組,在prison
中存在一個問題。由於所有觀察者模式函數現在是this.helpers
裏面的鍵/值對,所以我應該將this.observers = new ObserverList();
更改爲new this.helpers.prisoners();
之類的值,但this
的值已更改,並且我不知道如何使用new
運算符call/apply
。 (如果這甚至有意義)。
此外,我將不勝感激任何源(書/博客/視頻),有真實世界友好的例子,而不是代碼片段。對於Addy Osmani和他的作品沒有任何反應,他對於所有這些免費資源都是一個了不起的人,但是對於一個讓所有人點擊在一起的新人來說,有時候比親筆者會認爲的更困難(特別是考慮到Javascript允許的自由度)
如果我的問題聽起來「過於通用」或「非建設性」,我會事先道歉,但我會很感激一些建議。
我想知道這個問題是否會更適合[codereview.se]或可能[programmers.se]比這裏。 –
這是一個通用的,這是真的,但也有明顯的代碼問題(結構除外),所以我認爲它可以發佈在這裏。 – IgnorantUser