UI层使用某种服务定位器获取依赖项,服务定位器是一个具有静态方法的类:
public static MailService getMailService因为定位器方法是静态的,所以没有接口。由于没有接口,因此很难推断类的用途。这个类的客户端与它紧密耦合(请记住,那里没有接口),这使得它们不可能在其他地方重用。
该应用程序还支持通过RMI进行连接,因此以前,我们通过使用存根和定位器文件抽象出了连接。例如,我们做了如下操作:AddFunction api = (AddFunctionSoapBindingStub) locator.getAddFunction()这是因为定位器类将返回存根类,该存根类除了扩展org.apache.axis.client.Stub之外,还实现了AddFunction接口