реклама на сайте
подробности

 
 
> си, паттерны ооп, разбиение на объекты, parent's parent, детско-родительские отношения
Idle
сообщение Aug 15 2012, 18:57
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 351
Регистрация: 5-04-05
Пользователь №: 3 874



не использую си++, использую си, абстрактные типы данных через incomplete structure pointer-ы
собственно вопрос, как правильно организовывать взаимодействие объектов, когда "вложенный объект" должен вызывать родителя родителя?

sm.gif ну например, есть палета ящиков с помидорами, ящик с помидорами, и помидор
помидор портится через неделю и вызывает владельца всей палеты, что я мол испорчен sm.gif

что почитать на эту тему с учётом языка?

Сообщение отредактировал Idle - Aug 15 2012, 18:59
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Pasha
сообщение Aug 16 2012, 08:57
Сообщение #2


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Дык... томат говорит "уберите меня!!!" т.е отправляет сообщение.
Тот, кому по должностной инструкции положено, обрабатывает сообщение и убирает.
Т.е., поскольку "всё уже украдено до нас" - основные дебри сложности переносятся на обработку и маршрутизацию эвентов. А Вы хотите их сразу же удобно типизировать sm.gif а оно требует софта для принятия решения, куда это дальше перенаправить.

Сообщение отредактировал _Pasha - Aug 16 2012, 09:00
Go to the top of the page
 
+Quote Post
Idle
сообщение Aug 16 2012, 09:56
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 351
Регистрация: 5-04-05
Пользователь №: 3 874



Цитата(_Pasha @ Aug 16 2012, 12:57) *
Тот, кому по должностной инструкции положено, обрабатывает сообщение и убирает.

обрабатывать положено объекту менеджера, тут вопрос как правильно довести сообщение до менеджера от вложенной сущности палеты так, чтобы сохранить абстракции и избежать "сквозняка" будь он хоть в виде проходных обратных пробросов по цепочке родителей, хоть в виде проходного сохранения главного родителя внизу

Цитата(_Pasha @ Aug 16 2012, 12:57) *
А Вы хотите их сразу же удобно типизировать sm.gif.

ну менеджер(компоненты системы) типизирован и абстрагирован без меня, моё дело - палета и ниже
а внутри я удобно типизирую ввиду тестирования и tdd из-за оболваненности западной пропагандой sm.gif


Цитата(SSerge @ Aug 16 2012, 13:29) *
А вот про исключения и их распространение в С++ и почитать. И вообще про механизм исключений (exeptions) в других языках.
Ибо то, что хочется это и есть типичное применение этого механизма, который можно и на С реализовать, если очень захотеть.

посмотрю, спасибо

Цитата(ARV @ Aug 16 2012, 13:47) *
имхо, все с ног на голову! яйцо курице ничего не сообщает
...
по-моему, так гораздо логичнее.

это всё классно, но "поллинг" штука накладная, поэтому в спецификации на склад мне специфицировали именно "прерывание"
но если именно так и принято, то спасибо за ответ
Go to the top of the page
 
+Quote Post
ARV
сообщение Aug 16 2012, 10:03
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



Цитата(Idle @ Aug 16 2012, 13:56) *
это всё классно, но "поллинг" штука накладная, поэтому в спецификации на склад мне специфицировали именно "прерывание"
но если именно так и принято, то спасибо за ответ


принято или нет - это вопрос вкуса. лично я учился ООП по парадигме "ООП лучше отражает структуру реального мира". В реальном мире никогда помидор никому о себе ничего не сообщает, разве что вонью на весь склад sm.gif и если бы я решал эту задачу, я бы сводил ее к созданию иерархии классов, наиболее адекватно отражающей объекты реального мира.


в случае с "сообщениями" вы просто вынуждены породить некий класс "диспетчера", который должен знать, как с сообщениями поступать и т.д. в конечном счете, обработка очереди сообщений - тот же поллинг, только вынесенный в отдельный объект, наделенный особыми свойствами. В реальном мире диспетчер тоже есть - менеджер, но в реальном мире он сам решает, когда и откуда взять данные о состоянии склада, палетты и т.д. а в вашей модели вы заставляете гнилые помидоры самостоятельно жаловаться менеджеру... имхо, как-то не нормально это...



--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Idle   си, паттерны ооп, разбиение на объекты, parent's parent   Aug 15 2012, 18:57
- - ig_z   QUOTE (Idle @ Aug 15 2012, 21:57) помидор...   Aug 15 2012, 19:54
|- - Idle   Цитата(ig_z @ Aug 15 2012, 23:54) Если ре...   Aug 15 2012, 20:17
|- - Lotor   Цитата(Idle @ Aug 16 2012, 00:17) поясню ...   Aug 16 2012, 05:03
|- - _Pasha   Цитата(Lotor @ Aug 16 2012, 08:03) Callba...   Aug 16 2012, 06:20
|- - Idle   Цитата(_Pasha @ Aug 16 2012, 10:20) Долго...   Aug 16 2012, 06:35
|- - AHTOXA   Цитата(_Pasha @ Aug 16 2012, 12:20) Помид...   Aug 16 2012, 07:32
|- - _Pasha   Цитата(AHTOXA @ Aug 16 2012, 10:32) Во-пе...   Aug 16 2012, 07:38
- - Cosmojam   А если callback-и сохранять указателем в каком-то ...   Aug 16 2012, 07:23
- - Idle   эволюция примерно такая, сначала всё изолированно ...   Aug 16 2012, 08:22
- - SSerge   Цитата(Idle @ Aug 16 2012, 01:57) не испо...   Aug 16 2012, 09:29
- - ARV   имхо, все с ног на голову! яйцо курице ничего ...   Aug 16 2012, 09:47
- - Idle   да, у меня есть текcтовое описание того, какие ест...   Aug 16 2012, 10:15
|- - AlexandrY   Цитата(Idle @ Aug 16 2012, 13:15) да, у м...   Aug 16 2012, 10:54
- - Xenia   Цитата(Idle @ Aug 15 2012, 22:57) не испо...   Aug 16 2012, 10:49
|- - _Pasha   Цитата(Xenia @ Aug 16 2012, 13:49) наприм...   Aug 16 2012, 11:29
|- - Idle   Цитата(_Pasha @ Aug 16 2012, 15:29) У Вас...   Aug 16 2012, 11:41
- - kolobok0   Цитата(Idle @ Aug 15 2012, 22:57) ...как ...   Aug 16 2012, 14:33
|- - Idle   Цитата(kolobok0 @ Aug 16 2012, 18:33) И в...   Aug 16 2012, 15:02
|- - kolobok0   Цитата(Idle @ Aug 16 2012, 18:56) ...есть...   Aug 16 2012, 15:11
- - _Pasha   Хорошая мысль, кстати. Про дисциплину инженерной и...   Aug 16 2012, 14:46
- - Idle   Цитата(Xenia @ Aug 16 2012, 14:49) Для то...   Aug 16 2012, 18:26
|- - _Pasha   Цитата(Idle @ Aug 16 2012, 21:26) посмотр...   Aug 17 2012, 04:28
|- - ReAl   Цитата(_Pasha @ Aug 17 2012, 07:28) ЗЫ то...   Aug 17 2012, 06:39
- - andrewlekar   Хотите сделать хорошо - делайте проще. Заведите сп...   Aug 17 2012, 04:57
- - andrewlekar   ЦитатаЕсли они помидоры. А если банки с помидорами...   Aug 17 2012, 09:04
|- - Idle   Цитата(andrewlekar @ Aug 17 2012, 13:04) ...   Aug 17 2012, 09:48
- - andrewlekar   Цитатауказатель на конкретного менеджера изначальн...   Aug 17 2012, 09:56
|- - Idle   Цитата(andrewlekar @ Aug 17 2012, 13:56) ...   Aug 17 2012, 10:06
- - ARV   сначала программисты "из удобства" созда...   Aug 17 2012, 10:51
|- - Idle   Цитата(ARV @ Aug 17 2012, 14:49) ок, дал...   Aug 17 2012, 10:53
|- - kolobok0   Цитата(ARV @ Aug 17 2012, 14:51) ...в рез...   Aug 17 2012, 11:20
- - andrewlekar   Как делать best надо спрашивать того, кто эту архи...   Aug 17 2012, 11:19
|- - Idle   Цитата(andrewlekar @ Aug 17 2012, 15:19) ...   Aug 17 2012, 11:33
- - andrewlekar   ОО сущности от клиента - это всегда пассивные объе...   Aug 17 2012, 11:24
|- - kolobok0   Цитата(andrewlekar @ Aug 17 2012, 15:24) ...   Aug 17 2012, 13:51
|- - Idle   Цитата(kolobok0 @ Aug 17 2012, 17:51) и с...   Aug 17 2012, 14:35
||- - ARV   Цитата(Idle @ Aug 17 2012, 18:35) и что д...   Aug 17 2012, 14:59
||- - Idle   Цитата(ARV @ Aug 17 2012, 18:59) а если с...   Aug 17 2012, 15:07
|- - _Pasha   Цитата(kolobok0 @ Aug 17 2012, 16:51) вам...   Aug 17 2012, 15:43
|- - ARV   Цитата(_Pasha @ Aug 17 2012, 19:43) Это п...   Aug 17 2012, 16:44
- - ARV   все, что я хотел, я _вам_ сказал, добавить могу то...   Aug 17 2012, 15:34
|- - Idle   Цитата(ARV @ Aug 17 2012, 19:34) добавить...   Aug 17 2012, 16:58
|- - kolobok0   Цитата(Idle @ Aug 17 2012, 20:58) ...всё ...   Aug 17 2012, 19:18
|- - Idle   Цитата(kolobok0 @ Aug 17 2012, 23:18) Вы ...   Aug 17 2012, 19:44
|- - _Pasha   Цитата(Idle @ Aug 17 2012, 22:44) я пришё...   Aug 17 2012, 19:55
|- - Idle   Цитата(_Pasha @ Aug 17 2012, 23:55) Аминь...   Aug 17 2012, 20:21
- - редактор   В отпуске пропустил дискуссию, но выскажусь Цитата...   Aug 20 2012, 06:30
|- - ARV   Цитата(редактор @ Aug 20 2012, 10:30) И ч...   Aug 20 2012, 06:48
|- - Idle   Цитата(редактор @ Aug 20 2012, 10:30) И ч...   Aug 20 2012, 08:55
|- - ARV   Цитата(Idle @ Aug 20 2012, 12:55) так и д...   Aug 20 2012, 11:47
|- - Idle   Цитата(ARV @ Aug 20 2012, 15:47) то есть ...   Aug 20 2012, 19:25
- - _Pasha   Ба! Да у Вас (ТС) - налицо извечные проблемы в...   Aug 20 2012, 12:20
- - Idle   Цитата(_Pasha @ Aug 20 2012, 16:20) Ба...   Aug 20 2012, 14:48


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 22:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01472 секунд с 7
ELECTRONIX ©2004-2016