Название: паттерн для драйвера Отправлено: BuRn от Март 31, 2013, 10:50 Пишу драйвер для устройства, устройство работает на com порту. Вопрос к тем , кто хотя бы знаком с работой com порта, какой паттерн посоветуете использовать. Суть такова. Есть последовательность "02h 10h 97h 4Ch 31h 32h 33h 03h FAh" , которая в свою очередь складывается из команды печати 4Ch, что печатаем 31h 32h 33h, пароль к устройству 10h 97h,STX ETX 02h 03h и CRC FAh , так вот, это простейшая команда , но она может быть выполнена из определенных режимов, в которые подобным образом нужно переходить. Хотел попробовать использовать паттерн "Декоратор", который будет простейшую команду заворачивать дальше и дальше до нужного мне результата. Смущает то, что будет огромное количество классов. Ранее было сделано элементарно:Функция которая вычисляла CRC + функция которая выполняла команду(4ch,...) и все это оборачивалось функцией которая в качестве аргументов просто принимала команду и блок данных. Имхо не универсально, поэтому хотелось бы заюзать какой-нибудь шаблон проектирования
Название: Re: паттерн для драйвера Отправлено: Igors от Март 31, 2013, 11:14 Возможно QStateMachine здесь будет к месту
Название: Re: паттерн для драйвера Отправлено: BuRn от Март 31, 2013, 11:28 Возможно QStateMachine здесь будет к месту Возможно , но речь сейчас идет о более общем понятии , хотелось бы услышать мысли по архитектуре, переходы между режимами это уже вторично Название: Re: паттерн для драйвера Отправлено: kuzulis от Март 31, 2013, 11:58 ISO/OSI,
+ почитай Protocol Layer Design Pattern (http://www.eventhelix.com/realtimemantra/patterncatalog/protocol_layer.htm#.UVf6pjdqfGg) Название: Re: паттерн для драйвера Отправлено: Igors от Март 31, 2013, 12:43 Возможно , но речь сейчас идет о более общем понятии , хотелось бы услышать мысли по архитектуре, переходы между режимами это уже вторично Для широкого концептуального разговора оснований/информации маловато. Практически единственное что Вы сообщили - есть команды имеющие известный формат - ну так что с того? Напр непонятно откуда опасение огромного числа классов. Много команд - ничего не попишешь, поддерживать-то все надо. Каким боком здесь декоратор - тоже хз. Так трудно рассчитывать на содержательный ответ, дело свалится в дежурные отписки ("телепаты в отпуске" и.т.п.) |