Форум программистов, компьютерный форум, киберфорум
ООП и паттерны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/22: Рейтинг темы: голосов - 22, средняя оценка - 4.86
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452

Как сложную релейную схему преобразовать в мир ООП

28.06.2016, 11:42. Показов 5520. Ответов 83
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день !

Если на форуме есть программисты железнодорожники , то поймут о чем речь.

В общем нужно релейную систему управления движения поездов на станции преобразовать в технологию ООП.

В этой системе есть функционально законченные релейные блоки, которые за что-то отвечают.

Стрелки, светофоры, участки.

Проблемы описать каждый блок в виде класса, труда не составляет.

Основная проблема заключается в разработке взаимодействия обьектов этих классов с точки зрения ООП.

При определенном маршруте взаимодействуют, определенные обьекты.

Может кто подкинет разумные идейки , как это можно правильно реализовать.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.06.2016, 11:42
Ответы с готовыми решениями:

немогу нарисовать очень сложную блок схему
прогу написал кое как а блок схемы рисовать неумею,к тому же очень сложная программа получилась Uses CRT; Const MaxMenuItem = 16; Var...

Как преобразовать схему к двум узлам
Немного подзабыл, как это делается, поэтому надеюсь на вашу помощь Вот задача: Преобразовать схему к двум узлам. Рассчитать токи во...

Как преобразовать схему резервного копирования?
Доброго времени суток! существует вот такая схема резервного копирования, как ее преобразовать что бы нагрузка на сеть уменьшить, возможно...

83
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
28.06.2016, 14:52
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от RAFA91 Посмотреть сообщение
Решили релейную систему перевести в МП.
А что такое МП?
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
28.06.2016, 14:53  [ТС]
Цитата Сообщение от avgoor Посмотреть сообщение
Что осталось непонятным?
Да в принципе все.

Добавлено через 21 секунду
Цитата Сообщение от Mr.X Посмотреть сообщение
А что такое МП?
микропроцессорная система управления
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
28.06.2016, 14:57
Цитата Сообщение от RAFA91 Посмотреть сообщение
микропроцессорная система управления
А до этого она как управлялвсь?
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
28.06.2016, 15:00
Цитата Сообщение от RAFA91 Посмотреть сообщение
Да в принципе все.
...
Цитата Сообщение от avgoor Посмотреть сообщение
Прочитайте про делегаты.
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
28.06.2016, 15:01  [ТС]
Цитата Сообщение от Mr.X Посмотреть сообщение
А до этого она как управлялвсь?
в смысле ?

до рис. 1

после рис.. 2. вот то чно на рис. 2 это сейчас надо сделать
Миниатюры
Как сложную релейную схему преобразовать в мир ООП   Как сложную релейную схему преобразовать в мир ООП  
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
28.06.2016, 15:08
Цитата Сообщение от RAFA91 Посмотреть сообщение
в смысле ?
до рис. 1
после рис.. 2.
Т.е. раньше все было вручную?

Добавлено через 1 минуту
Формирование маршрутов и управление ими - это единственная задача для релейной системы?
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
28.06.2016, 15:17  [ТС]
Цитата Сообщение от Mr.X Посмотреть сообщение
Т.е. раньше все было вручную?
сейчас тоже вручную только с помощью мыши. хотя есть автодействие во втором варианте.

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

и открытием светофора ограждающего этот маршрут.
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
28.06.2016, 15:18
Цитата Сообщение от RAFA91 Посмотреть сообщение
Да в принципе все.
Мой совет - обратитесь к более компетентным разработчикам. Ведь если
Цитата Сообщение от RAFA91 Посмотреть сообщение
Проект реальный.
Кто-то может сесть.
1
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
28.06.2016, 15:22  [ТС]
Цитата Сообщение от avgoor Посмотреть сообщение
обратитесь к более компетентным разработчикам
это конкуренция поэтому хрен кто откроет секреты.

я могу лишь опытным людям рассказать как должно быть (в этой системе). поэтому я обратился за помощью что-бы найти ответ.
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
28.06.2016, 15:28
Цитата Сообщение от RAFA91 Посмотреть сообщение
поэтому хрен кто откроет секреты
Никаких секретов там нет. Это базовые знания в программировании.
Цитата Сообщение от RAFA91 Посмотреть сообщение
поэтому я обратился за помощью что-бы найти ответ.
Я вам уже сказал что почитать. Писать за вас никто не будет.
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
28.06.2016, 15:32  [ТС]
Цитата Сообщение от avgoor Посмотреть сообщение
Писать за вас никто не будет.
код я сам напишу. мне только взаимодействие на пальцах нужно знать. к моей системе естественно
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
28.06.2016, 15:35
Цитата Сообщение от RAFA91 Посмотреть сообщение
мне только взаимодействие на пальцах нужно знать
Вот вам ссылка. В Qt есть все, что вам понадобится "из коробки". http://doc.qt.io/qt-5/signalsandslots.html
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
28.06.2016, 15:41
Цитата Сообщение от RAFA91 Посмотреть сообщение
вообщем основная задача системы устанавливать маршруты (перевод стрелок) с выполнением условий безопасности
Ну, тогда все элементарно. Имеем объект Релейная система, в которой есть набор свободных элементов, и есть набор составленных из них маршрутов. Элементы, входящие в маршрут, работают согласно логике этого маршрута. Нужно предусмотреть максимально возможное количество защит от дурака, блокировок всяческих.
Маршруты, в свою очередь, состоят из подобъектов, - секций, или как там они у вас. При управлении элементами, объединенными в маршрут или секцию может пригодиться паттерн Наблюдатель. Вообще, поштудируйте книжку Банды четырех, может какие паттерны натолкнут вас на полезные мысли.
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
28.06.2016, 15:41  [ТС]
Цитата Сообщение от avgoor Посмотреть сообщение
В Qt есть все, что вам понадобится
да при чем тут конкретная среда. мне нужна модель взаимодействия элементов системы на пальцах.
Цитата Сообщение от Mr.X Посмотреть сообщение
Ну, тогда все элементарно.
не знаю не знаю. с одной стороны просто - с другой нет.
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
28.06.2016, 15:43
Цитата Сообщение от avgoor Посмотреть сообщение
Вот вам ссылка. В Qt есть все, что вам понадобится "из коробки". http://doc.qt.io/qt-5/signalsandslots.html
Ну, сигналы и слоты - это как раз одна из реализаций паттерна Наблюдатель.
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
28.06.2016, 15:45  [ТС]
наблюдать за состоянием обьекта я могу просто вызовом методов контроля.

циклически естественно.
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
28.06.2016, 15:48
Цитата Сообщение от RAFA91 Посмотреть сообщение
не знаю не знаю. с одной стороны просто - с другой нет.
Ну, модель вроде просматривается. Так сверху вниз и начинайте описывать.

Добавлено через 1 минуту
Цитата Сообщение от RAFA91 Посмотреть сообщение
наблюдать за состоянием обьекта я могу просто вызовом методов контроля.
циклически естественно.
Да-да, только не вы, а объект муршрута.
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
28.06.2016, 15:48  [ТС]
выделить элементарные элементы не проблема.

проблема в взаимодействии.

при старте программы я создаю все обьекты станции

стрелки - светофоры - секции. получаю на них ссылки.

потом же надо эти ссылки привязать к конкретному маршруту и там с ними работать
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
28.06.2016, 15:51
Цитата Сообщение от RAFA91 Посмотреть сообщение
наблюдать за состоянием обьекта я могу просто вызовом методов контроля.
Если вы о паттерне Наблюдатель, то он получает сигналы об изменении состояния наблюдаемых объектов, и в зависимости от этих изменений рассылает им всем команды. Это должен делать объект Маршрут со своими элементами.
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
28.06.2016, 15:52
Цитата Сообщение от RAFA91 Посмотреть сообщение
да при чем тут конкретная среда. мне нужна модель взаимодействия элементов системы на пальцах.
Что вам не понятно? Взаимодействие - из метода объекта вызвать метод другого объекта. Всё. Просто чтобы описать что с чем взаимодействует - нужен еще один объект - который связывает события с указателями на методы которые нужно вызвать. Куда уж "напальцее"?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.06.2016, 15:52

Преобразовать в ООП
Преобразуйте, пожалуйста, программу, чтоб там использовалось ООП (object). Желательно преобразовать, чтоб получилось 3 программы : 1)...

На вкладке Мой мир, на портале mail.ru идет постоянная загрузка страницы - Мой Мир, в чем дело?
На вкладке Мой мир, на портале mail.ru идет постоянная загрузка страницы - Мой Мир, в чем проблема? Сама страница открывается быстро, но...

(C) Дана строка предложение. Записать все слова в строке в обратном порядке. Пример: весь мир → мир весь
Дана строка предложение. Записать все слова в строке в обратном порядке. Пример: весь мир → мир весь Добавлено через 15 минут ...

Построить экивалентную более простую контактно-релейную схемы
Заранее спасибо за помощь!

Не могу подобрать верную схему ООП
Приветствую! Помогите, не могу подобрать схему ООП. Я в ООП новичок, все как то без этого обходился и вот решил заняться. Задача...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru