我正在爲我公司的軟件產品設計一個新的架構。我對單元測試相當陌生。我讀了一些關於使用單例和靜態方法的恐怖故事,但我並不清楚使用它們的問題,並且會感激一些啓發。PHP靜態方法/ Singleton模式
這是我在做什麼:
我有一個多層架構。在服務器端,我使用一系列可重用對象來表示數據庫表,稱爲「處理程序」。這些處理程序使用其他對象,如XMLObjects,XMLTables,不同的數據結構等。其中大多數是自制的,而不是預先包裝的對象。無論如何,在這層之上是一個僞單體層。這樣做的主要目的是簡化更高級別的服務器端代碼並創建無縫的類管理。我可以說:
$tablehandler = databasename::Handler('tablename')
...得到一個表。我沒有看到這個固有的問題。我正在使用一堆處理程序(一個關聯數組)來包含不同對象的實例。我沒有使用全局變量,並且所有靜態數據成員都是受保護的或私有的。我的問題是如何導致單元測試出現問題。我不是在尋找潮流的言辭,我正在尋找因果關係。我也希望對此有所瞭解。我覺得這是一個非常靈活和高效的架構。這裏的任何幫助都會很棒。
你真的不喜歡白色空間.... – Baba
這是一個很好的設計模式,實際上。不能幫助你與單身辯論,但肯定很有創意的想法 –
我想說的最大的區別是利用[接口](http://php.net/manual/en/language.oop5.interfaces.php) – Ohgodwhy