Посоветуйте, какой выбрать шаблон проектирования для реализации XMLSocket. Или может скомпоновать несколько шаблонов? Хотелось бы не просто тык пальцем в небо, а аргументированный выбор.
Вот список шаблонов, которое мне наиболее удобно применить:

Код:
1. Порождающе
Фабричный метод
Одиночка
2. Структурные
Декоратор
Адаптер
Компоновщик
3. Поведенческие
Наблюдатель
Состояние
Суть в том чтобы различные компоненты занимались своими делами, при этом чтобы их можно было легко расширить и добавлять новые в случае надобности:

Код:
1. Отслеживание сокета на предмет ошибок
2. Отправка данных
3. Отслеживание инициализации приёма данных
4. Компановка структуры отправляемых данных
5. Парсинг структуры принимаемых данных
6. ...может что-то ещё