2011-08-17 4 views
0

임 리눅스에서 Windows 및 어쩌면 Mac에서 실행되는 프로젝트에서 일하고 있습니다. 내 프로그램은 vnc 서버를 설치/구성하므로 프로젝트의이 부분을 구현하는 방법에 대한 제안을 찾고 있습니다. 모듈 식 디자인을 사용해야합니까 아니면이 문제에 대해 플랫폼 독립적 아키텍처를 만들 수 있습니까?크로스 플랫폼 개발 제안

답변

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 {} 
} 

등을 작성해야한다고 생각 또는 공용 로직이 구현 될 곳의 구성 자 유틸리티.

이제 플랫폼에 따라 컨 피규 레이터의 "올바른"구현을 인스턴스화하는 팩토리를 생성하십시오. 그리고 너 끝났어.

저는 Windows에서 몇 가지 추가 라이브러리가 필요하다고 생각합니다. 레지스트리에 액세스 할 수있는 권한. 하지만 먼저이 링크가 필요한지 확인하려면 다음 링크를 확인하십시오. http://alexradzin.blogspot.com/2011/01/access-windows-registry-with-pure-java.html

+0

감사합니다.이 [견본] (http://www.javabeat.net/tips/18-factory-pattern-design-patterns-in- javaj.html). – GEverding