Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по ООД и ООА 
:(
    Опции темы
rukudias
Дата 28.1.2008, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 28.2.2007

Репутация: 0
Всего: 0



Привет всем!

Вопрос следущего характера:
-необходимо написать ПО связивающее ПК и некий девайс по COM порту
голика работы :
-запрос ответ ,анализ ответа причем есть еще куча зависемых условий кроме самого ответе 

Подскажите какую связку патернов использовать?

зы сейас использую обсервер для прослушивания сома в отдельном потоке 
поднимаю это сообщение вверх

че делать дальше сейчас стоит свитчь в свиче эсле криво както!
PM MAIL   Вверх
chipset
Дата 30.1.2008, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



Кроме того что-бы разбить Factory на кучу кусков вряд-ли что-то поможет. 
В конце всё очевидно сведется:

Код

AbstractCommand *command = factoryMap["command"].Build();


А если логика очень сложная то уже имеет смысл использовать бизон или yacc.


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Mayk
Дата 31.1.2008, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 45
Всего: 134



Цитата(rukudias @  28.1.2008,  16:10 Найти цитируемый пост)

че делать дальше сейчас стоит свитчь в свиче эсле криво както! 

общее правило такое --- заменяешь свитчи наследованием классами, перечитываешь книги по паттернам и на n-ной странице 
кричишь HaveThisPattern.
а конкретнее имхо описание выглядит слишком размыто.

Цитата(chipset @  31.1.2008,  00:21 Найти цитируемый пост)

А если логика очень сложная то уже имеет смысл использовать бизон или yacc.

ыы. не факт что данные поступающие с COM порта лежат в некой имеющей смысл граматике.

Добавлено через 1 минуту и 28 секунд
Цитата(Mayk @  31.1.2008,  13:07 Найти цитируемый пост)

а конкретнее имхо описание выглядит слишком размыто.

в смысле  вопрос это выглядит так:
"я получаю данные, обрабатываю данные.  Какие паттерны мне использовать?".


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
rukudias
Дата 31.1.2008, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 28.2.2007

Репутация: 0
Всего: 0



Спасибо за ответы всем респект и уважуха smile 
Цитата

А если логика очень сложная то уже имеет смысл использовать бизон или yacc. 



можно без сленга че за патерны?

Добавлено через 6 минут и 2 секунды
Цитата

в смысле  вопрос это выглядит так:
"я получаю данные, обрабатываю данные.  Какие паттерны мне использовать?". 


есть просто зависимых условий
ну например 
посылка запроса - ответ.Если норма то переходим к следуш посылки причем следуш посылка может быть пропушена
если мы не в стейте А и тут же если мы в стейте А то проверить на стейл В

те много зависимых условий проверок перед тем как принять решение об типе очередной отправки

Цитата

Кроме того что-бы разбить Factory на кучу кусков вряд-ли что-то поможет. 



Это решение мне нравится! smile 
PM MAIL   Вверх
Mayk
Дата 31.1.2008, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 45
Всего: 134



Цитата(rukudias @  31.1.2008,  15:28 Найти цитируемый пост)

А если логика очень сложная то уже имеет смысл использовать бизон или yacc. 
можно без сленга че за патерны?

это не паттерны, а софт.

Цитата(rukudias @  31.1.2008,  15:28 Найти цитируемый пост)

есть просто зависимых условий
ну например 
посылка запроса - ответ.Если норма то переходим к следуш посылки причем следуш посылка может быть пропушена
если мы не в стейте А и тут же если мы в стейте А то проверить на стейл В

Во-первых собсно смотри паттерн  state, во-вторых поиск по ключевым словам "конечный автомат".


ещё можешь сюда кинуть фрагмент текущего кода, мы посмотрим, может посоветуем как зарефакторить.

Добавлено через 2 минуты и 36 секунд
ps. кстати паттерны не являются серебрянной пулей.

Добавлено через 3 минуты и 6 секунд
pps. это к тому что сидеть с бумажкой зачастую более эффективно чем спрашивать на форумах


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
rukudias
Дата 31.1.2008, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 28.2.2007

Репутация: 0
Всего: 0




Цитата

это не паттерны, а софт.


Гы че за софт?

конечный автомат а иммено стейт машин уже использую на верху
ну типа там несколькотестов переход от теста к тесту через сообшения конкрет стейта -контексту! 
PM MAIL   Вверх
Любитель
Дата 31.1.2008, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 24
Всего: 92



Цитата(Mayk @  31.1.2008,  16:24 Найти цитируемый пост)
Во-первых собсно смотри паттерн  state, во-вторых поиск по ключевым словам "конечный автомат"

+1

Цитата(rukudias @  31.1.2008,  17:32 Найти цитируемый пост)
Гы че за софт?

Генераторы парсеров языков на основе декларативного описания.

Цитата(rukudias @  31.1.2008,  17:32 Найти цитируемый пост)
конечный автомат а иммено стейт машин уже использую на верху

Здесь он и нужен ИМХО (хотя, всё-таки, неплохо бы, если возможно, конкретный код). Только предусмотреть максимально декларативную логику описания переключения и пристыковки каких-то возможных спецобработчиков.


--------------------
PM MAIL ICQ Skype   Вверх
Mayk
Дата 31.1.2008, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 45
Всего: 134



Цитата(rukudias @  31.1.2008,  21:32 Найти цитируемый пост)

Гы че за софт?

STFW. В двух словах: генератор парсеров для LALR(1) грамматик.

Добавлено через 27 секунд
Любитель, обогнал


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0545 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.