我公司擁有一批肥皂服務器類其中大部分將需要實現3種方法的:模板方法模式是共享Soap方法的最佳解決方案嗎?
ping() // something to bounce a signal off to prove it has been reached
getCredentials($creds) // credentials to check sets session value
getCaller() // for logging, uses session value
因爲它們構成了WSDL的一部分DEFN他們需要的是公衆。
我相當肯定,這(我已經命名它Soaplogin)將需要一個抽象類(因爲它必須永遠對自己被實例化)
然後擴展這個核心的具體類則有自己的自己的方法,沒有一個是共享的。
我在尋找使用的最佳類型的模式,並且有點困惑,儘管我認爲模板方法恰好符合法案 - 但我可以簡單地擴展SoapLogin類。
您可以給我最好的使用模式,也許這個班的首選名稱有什麼建議。
(而這使用ZF1組件它不使用完全成熟的MVC - 的情況下,這是很重要的)
我每次發現有用的東西是包含一種方法來詢問服務器運行的是哪個軟件版本。你的'ping()'函數看起來應該這樣做。 – Sven
也許不正確,我使用ping()來簡單地證明服務是可達的。我測試了wsdl緩存關閉,沒有wsdl?死();但是一旦打開了wsdl緩存,我想不出另一種證明服務已啓動/可達的方式。我想將登錄消息與「生活證明」消息分開。客戶端也記錄了getCredentials響應字符串......但是,我想它可能會返回版本號... – Cups
完全同意。檢查這些基礎知識對於高效調試非常重要,我喜歡你的ping理念。我不確定是否發佈ping的版本信息是否正確,或者是否應該將其放入'getVersionInfo'方法(它也可以充當心跳檢查函數),但我從大量肥皂的使用經驗中得知服務,你真的想知道它的版本容易。 – Sven