問題描述

我想非常清楚地表明,這並不意圖重新啟動與 object-oriented 程式設計有關的功能/程式程式設計的討論。有很多關於這個,在 WPSE 和網上。

不過不久之前,我正在閱讀關於 Wordpress 程式設計基礎的一些討論,我讀了一些東西 – 我必須改寫,因為不幸的是我當時沒有加入書籤 – 大致如下:

One of the appealing things about using WordPress is that they are additionally working based on the event-driven paradigm of programming.

從我所理解的 event-driven programming 在這種情況下幾乎是 signaldataflow 程式設計的同義詞。此外,最有可能過度簡化它 – 可能主要的明顯特徵是使用 hooksactionsfilters 作為該方法的關鍵。

到現在為止還挺好。似乎很簡單,但我不是來自電腦科學的背景,所以我很確定有更多的要說。我真的很感興趣的一些輸入,像:這是真的關於還是上面說的呢?這是一個額外的範例嗎?它與其他的關係如何?這是一個核心原則還是隻是一個補充?

那些剛剛脫離頭腦的人,明顯違反規則,不要問一個有一個明確答案的單一問題,但也許這將會被原諒。

最佳解決思路

首先讓我們澄清一下 paradigm 在程式設計中的含義。這意味著我們達成協議,以某種方式處理某些案件/問題/情況。

例如,我們達成協議,foot-passenger 應該在我們國家的綠燈上過馬路。這是我們的綠燈範例。在另一個國家可能是一個共同的道路的協議。那就是他們提出的手正規化。他們彼此沒有關係,他們只是存在,腳乘客可以使用正規化,或建立自己的交叉路,每當我想要正規化。

同樣的情況在程式設計中。正規化只是一套以某種方式開發應用程式或使用某種方法的規則或協議。而已。

好的,回到 WordPress 和事件驅動的範例。這個範例只是整個 WordPress 系統的一部分。這個範例設定了一堆規則/協議,如何透過第三方擴充套件擴充套件核心,其中動作和過濾器的鉤子是線性方法。注意這個範例只涉及可擴充套件性案例/問題/情況,這不僅僅是 WordPress 使用的範例,而是其中的核心。

就這樣。當然你可以使用自己編寫的一個外掛/主題,我想要什麼樣的範例,並開心吧:)

次佳解決思路

我認為用事件驅動的正規化,誰寫的文章打算 Observer Pattern

而在 WordPress 中的處理透過 Plugins Api 。我不覺得還有更多的話要說。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。