我正在研究java中的项目,该项目最终将在Linux和Windows机器上运行,也可能是mac。我的程序安装/配置vnc服务器,所以我正在寻找关于如何实现这部分项目的建议。我应该只是采用模块化设计还是可以为此问题创建独立于平台的架构?
答案 0 :(得分:1)
我认为如果VNC配置在不同的平台上有所不同,你应该创建实现它的类的接口和层次结构,即
public interface VncConfigurator {
public void configure(Configuration cofiguration) throws ConfigurationException;
}
public class WindowsVncConfigurator implements VncConfgurator {
public void configure(Configuration cofiguration) throws ConfigurationException {}
}
public class LinuxVncConfigurator implements VncConfgurator {
public void configure(Configuration cofiguration) throws ConfigurationException {}
}
等等。
您还可以创建抽象配置器或cofigurator utils,其中将实现通用逻辑。
现在创建工厂,根据平台实例化配置器的“正确”实现。你完成了。
我相信在Windows上你需要一些额外的库,例如那些提供访问注册表的人。但如果您需要,请先检查以下链接:http://alexradzin.blogspot.com/2011/01/access-windows-registry-with-pure-java.html