설계의 고민 (시리얼 포트 연결 설정 클래스의 위치?? 선언??)
프로젝트를 간단히 설명하자면 자바로 시리얼 통신을 이용하여 문자열을 얻어와 여러가지 데이터를 뽑아 내는 것입니다.
우선 시리얼 포트 하나를 열어 연결을 시킵니다.
데이터를 뽑아 오는 종류에 따라 A,B,C로 나누어 지기 때문에
Class Info를 선언하고
Class A extends info
Class B extends info
Class C extends info
로 선언 했습니다.
그리고
Class StSoket 을 선언해 시리얼 포트 연결 설정을 합니다.
그럼 A, B, C에서 StSoket의 객체를 가지고 문자열을 얻어와 각각의 알고리즘으로 정보를 뽑아 냅니다.
A, B, C에서 StSoket을 이용하기 위해
Class A
{
StSoket a;
public void A(StSoket a)
{
this.a = a;
}
}
이렇게 했습니다. 그리고 Main에서 A를 선언하면서 하나의 StSoket을 다 넘겨주게 됩니다.
이렇게 하려고 했는데 왠지 마음에 들지 않아
일단 소켓 통신하는 Manager를 만들었습니다.
(StSokect은 구조적 동작을 하고 Manager에서는 문자열을 얻어와 두개를 리턴 한다던지 문자열 전체를 리턴 하다던지 하는
식으로 이용할 생각입니다.)
다시 위의 코드와 같이 넘기려고 하니 다시 마음에 들지 않았습니다.
Main에서 Manager를 하나씩 넘겨줘야 한다는것이 마음에 들지 않았습니다.
이럴 경우 어떻게 Manage를 잘 넘겨 줄 수 있을가요?
시리얼 포트 연결 설정은 하나만 되어야 하기 때문에 Manager는 하나만 선언 되어야하고 포인터만 참조 해야하는데
어떤 식으로 해야 할지 개념이 잘 잡히지 않습니다.
오랜 만에 자바를 잡았는데 너무 슬픕니다. ㅜㅜ
좋은 의견 있으시면 감사드립니다.
Manager가 하나만
Manager가 하나만 있어야 한다는 게 포인트라면 singleton 패턴을 사용하시는 것도 생각해보세요.
댓글 달기