В скором времени начну писать приложение, которое будет общаться с внешним устройством по rs-232 по протоколу modbus, хочу расширить поддержку устройств с помощью загрузки кодов функций с сервера. Приложение будет иметь гуй, логгер, отправку данных на сервер в большой мир и другие фичи, которые предложит моя больная фантазия или сообщество.
Какому паттерну проектирования мне следовать? Java.
P.S. Исходники буду распространять под свободной лицензией, поэтому хотелось бы написать так, чтобы не было стыдно за свой код.