我们的上一个解决方案允许我们具有一个以上的骰子。
在继续讨论之前,让我们引入客户端和服务器的概念。“服务器”提供某种服务。在这种情况下,dice.jsl 提供骰子服务。“客户端”为 app.jsl,它利用该服务。
客户端和服务器之间的“耦合”是怎样的?客户端与它使用的骰子之间的联系有多紧密?如果我们要对骰子进行一些更改(例如,引入一些新的数据/方法),则会发生什么情况?客户端需要重新编译吗?
那样合理吗?如果在多个文件中使用该骰子,那么会怎样呢?如果它由多个客户端使用,那么会怎样呢?
将接口作为类型
我们在 rollable.jsl 中引入了骰子接口。dice.jsl 中的骰子类实现了该接口。客户端 app.jsl 只根据该接口工作。
清单 3.
// File: rollable.jsl
// an interface representing a die
interface Rollable
{
public int sides();
}
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/