我們的上一個解決方案允許我們具有一個以上的骰子。
在繼續討論之前,讓我們引入客戶端和服務器的概念!胺⻊掌鳌碧峁┠撤N服務。在這種情況下,dice.jsl 提供骰子服務!翱蛻舳恕睘 app.jsl,它利用該服務。
客戶端和服務器之間的“耦合”是怎樣的?客戶端與它使用的骰子之間的聯系有多緊密?如果我們要對骰子進行一些更改(例如,引入一些新的數據/方法),則會發生什么情況?客戶端需要重新編譯嗎?
那樣合理嗎?如果在多個文件中使用該骰子,那么會怎樣呢?如果它由多個客戶端使用,那么會怎樣呢?
將接口作為類型
我們在 rollable.jsl 中引入了骰子接口。dice.jsl 中的骰子類實現了該接口?蛻舳 app.jsl 只根據該接口工作。
清單 3.
// File: rollable.jsl
// an interface representing a die
interface Rollable
{
public int sides();
}
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/