![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| rukudias |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 28.2.2007 Репутация: 0 Всего: 0 |
Привет всем!
Вопрос следущего характера: -необходимо написать ПО связивающее ПК и некий девайс по COM порту голика работы : -запрос ответ ,анализ ответа причем есть еще куча зависемых условий кроме самого ответе Подскажите какую связку патернов использовать? зы сейас использую обсервер для прослушивания сома в отдельном потоке поднимаю это сообщение вверх че делать дальше сейчас стоит свитчь в свиче эсле криво както! |
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Кроме того что-бы разбить Factory на кучу кусков вряд-ли что-то поможет.
В конце всё очевидно сведется:
А если логика очень сложная то уже имеет смысл использовать бизон или yacc. --------------------
|
||||
|
|||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
общее правило такое --- заменяешь свитчи наследованием классами, перечитываешь книги по паттернам и на n-ной странице кричишь HaveThisPattern. а конкретнее имхо описание выглядит слишком размыто.
ыы. не факт что данные поступающие с COM порта лежат в некой имеющей смысл граматике. Добавлено через 1 минуту и 28 секунд в смысле вопрос это выглядит так: "я получаю данные, обрабатываю данные. Какие паттерны мне использовать?". -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| rukudias |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 28.2.2007 Репутация: 0 Всего: 0 |
Спасибо за ответы всем респект и уважуха
можно без сленга че за патерны? Добавлено через 6 минут и 2 секунды
есть просто зависимых условий ну например посылка запроса - ответ.Если норма то переходим к следуш посылки причем следуш посылка может быть пропушена если мы не в стейте А и тут же если мы в стейте А то проверить на стейл В те много зависимых условий проверок перед тем как принять решение об типе очередной отправки
Это решение мне нравится! |
||||||
|
|||||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
это не паттерны, а софт. Во-первых собсно смотри паттерн state, во-вторых поиск по ключевым словам "конечный автомат". ещё можешь сюда кинуть фрагмент текущего кода, мы посмотрим, может посоветуем как зарефакторить. Добавлено через 2 минуты и 36 секунд ps. кстати паттерны не являются серебрянной пулей. Добавлено через 3 минуты и 6 секунд pps. это к тому что сидеть с бумажкой зачастую более эффективно чем спрашивать на форумах -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| rukudias |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 28.2.2007 Репутация: 0 Всего: 0 |
Гы че за софт? конечный автомат а иммено стейт машин уже использую на верху ну типа там несколькотестов переход от теста к тесту через сообшения конкрет стейта -контексту! |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
+1 Генераторы парсеров языков на основе декларативного описания. Здесь он и нужен ИМХО (хотя, всё-таки, неплохо бы, если возможно, конкретный код). Только предусмотреть максимально декларативную логику описания переключения и пристыковки каких-то возможных спецобработчиков. |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
STFW. В двух словах: генератор парсеров для LALR(1) грамматик. Добавлено через 27 секунд Любитель, обогнал -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |