(프로그래밍 갤에도 씀)
임베디드 개발에 C 쓰다가 이번에 goat C++ 갈아탔음.
예를 들어 서보제어용 클래스와 통신용 클래스 두 개를 각각 만들었음. 이걸 하나의 클래스에서 중앙 관리하기 위해 시스템 클래스를 추가로 만들었다.
그럼 여기서 선택지가 생기는데
1) 주변 오브젝트들을 시스템 클래스의 멤버로 정의.
2) 클래스 포인터를 멤버로 두고 주변 오브젝트들은 외부에서 정의 후 포인터 연결.
3) 주변 오브젝트 각각 시스템 클래스를 상속하도록하고 공유해야 하는 데이터는 static으로 정의
1) 의 경우 시스템 클래스 정의할 때 멤버 오브젝트도 한방에 정의되므로 간편한데 자꾸 mcu에서 hard fault 남. 메모리 문제인지 컴파일 최적화 때문인지는 모르겠음. volatile 적용해서 디버깅할 생각인데 안 될 경우 2)번으로 가야 되는 상황. 얘는 정상작동 확인함. 3)은 아직 안 해봄. 오버로딩 때문에 작성 자체가 개귀찮을 것으로 예상.
보통 앱 개발 시에는 어떤 게 일반적임? 고수가 있을 것 같지는 않은데 있으면 도움.

3번은 아닌거같음
훔... 님 똑똑하시네요. 사실 나도 적어놓고 개소리했다고 생각함.
정확히 어떤 구조인지 모르겠는데 본문의 경우는 굳이 중앙화를 해야되나 싶음 객체 간 데이터 교환이 필요하면 그냥 서로의 메서드를 호출해도 됨
첨언하면 두 개의 오브젝트 간 데이터 교환해야 함. 예를 들어 통신 오브젝트가 받은 데이터를 서보 오브젝트가 받아서 실행하는 방식. 이걸 중앙화 제어하기에 가장 적합한 접근을 묻는 것임.