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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> си, паттерны ооп, разбиение на объекты, parent's parent, детско-родительские отношения
andrewlekar
сообщение Aug 17 2012, 09:56
Сообщение #31


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Цитата
указатель на конкретного менеджера изначально знает только конкретная палета

Это плохой дизайн, на мой взгляд. Более того, изначально на конкретного менеджера вообще ни у кого не должно быть указателя. Изначально там должна быть заглушка или null, для того, чтобы можно было класс тестировать изолированно.
Go to the top of the page
 
+Quote Post
Idle
сообщение Aug 17 2012, 10:06
Сообщение #32


Местный
***

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



Цитата(andrewlekar @ Aug 17 2012, 13:56) *
Это плохой дизайн, на мой взгляд.

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

Сообщение отредактировал Idle - Aug 17 2012, 10:06
Go to the top of the page
 
+Quote Post
ARV
сообщение Aug 17 2012, 10:51
Сообщение #33


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

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



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

уважаемые господа программисты! пожалуйста, вернитесь на грешную землю! никогда помидор ни при каких условиях НЕ МОЖЕТ, НЕ ДОЛЖЕН и даже НЕ ИМЕЕТ ПРАВО знать о палетте, о каком-то менеджере и т.д.! НУ НЕ ЕГО ЭТО ПОМИДОРСКОЕ ДЕЛО!

не плодите сущности без нужды! не оправдывайте свое желание сделать франкенштейна "удобством" (для кого?!), скоростью (кого она волнует при нынешних мегагерцах?!) или еще чем-то! остров доктора Моро должен остаться лишь плодом фантазии, не пришивайте руки-ноги помидору!!!!

Цитата(Idle @ Aug 17 2012, 14:06) *
мне нужно понятно и с достоинством sm.gif вытащить указатель на менеджера
похабно впихнутое врядли можно с достоинством вытащить... см. выше


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
Idle
сообщение Aug 17 2012, 10:53
Сообщение #34


Местный
***

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



Цитата(ARV @ Aug 17 2012, 14:49) *

ок, дались тебе эти помидоры, не могу я реальную задачу здесь описать
вопрос не про то как жить дальше, а про то что раз уж есть иерархия объектов, как из этого сделать my best
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Aug 17 2012, 11:19
Сообщение #35


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Как делать best надо спрашивать того, кто эту архитектуру задумал. В вашем случае, самое грамотное будет - сделать абы как, лишь бы работало. Если есть у "помидора" указатель на его контейнер, то дёргать контейнер, а тот пускай дергает менеджера, так как знает о нём - это в случае, если есть возможность менять код контейнера. Если есть глобальный список всех менеджеров, то можно опросить их всех и попробовать найти свою собственную паллету по ним - это в случае, если апи позволяет.
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Aug 17 2012, 11:20
Сообщение #36


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(ARV @ Aug 17 2012, 14:51) *
...в результате система умный дом...


+100500

и ышо 5 копеек...
только траблы наступают раньше. ОО сущности от клиента = есть статика. А вот надуманное от программирования = без костылей не будет жить, если клиент всего-то потребовал модернизировать его логику. именно поэтому найденные сущности ОО методологией дают код малоизменяющийся на всём времени жизни проекта. а это существенный плюс, который не могут дать другие методологии разработки софта.
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Aug 17 2012, 11:24
Сообщение #37


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



ОО сущности от клиента - это всегда пассивные объекта, ака структуры. Так что разбиение на структуры присущие предметной области - это и правда плюс. Но ООП тут и не пахнет.
Go to the top of the page
 
+Quote Post
Idle
сообщение Aug 17 2012, 11:33
Сообщение #38


Местный
***

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



Цитата(andrewlekar @ Aug 17 2012, 15:19) *
Если есть у "помидора" указатель на его контейнер, то дёргать контейнер, а тот пускай дергает менеджера, так как знает о нём - это в случае, если есть возможность менять код контейнера.

так и делаю, протаскиваю указатель на контейнер сверху вниз, там где "помидорчик протух" он дёргает контейнер, а тот уже дёргает "менеджера"
выглядит всё это паршиво и засоряет интерфейсы, вот и пытаюсь как-то упорядочить доступ к верхнему контейнеру и интерфейсы, цепочка parent->...->parent хотя бы выглядит стандарным подходом

Цитата(andrewlekar @ Aug 17 2012, 15:19) *
Если есть глобальный список всех менеджеров, то можно опросить их всех и попробовать найти свою собственную паллету по ним - это в случае, если апи позволяет.

нет, такого нет
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Aug 17 2012, 13:51
Сообщение #39


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(andrewlekar @ Aug 17 2012, 15:24) *
...разбиение на структуры присущие предметной области - это и правда плюс. Но ООП тут и не пахнет.


тогда прошу вас подсказать: где по Вашему начинается проектирование?


Цитата(Idle @ Aug 17 2012, 15:33) *
...указатель на контейнер сверху вниз...


вам несколько раз правильно сказали уже - помидор ничего не знает о месте его нахождения. ну нет на нём записи страна-дом-улица-склад-шкаф-палета..нету...
он может известить весь мир что он протух (запах испортить). а вот конкретно ударить в нос менэджеру - этого нету. если палетта умная и по весу(или теплу) определяет протухание - она может придпринять действия. может ловить запах в каждом посадочном месте помидора.

и строго говоря указатель на парэнт - звоночек о том, что консерваторию надо менять...
Go to the top of the page
 
+Quote Post
Idle
сообщение Aug 17 2012, 14:35
Сообщение #40


Местный
***

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



Цитата(kolobok0 @ Aug 17 2012, 17:51) *
и строго говоря указатель на парэнт - звоночек о том, что консерваторию надо менять...

ок, менять начальника/работу/страну я не буду по этому поводу, так что вот sm.gif
и что делать в этом случае? опрос проходом сверху вниз? опрашивать сотни объектов? поллинг т.е. ?
как это называется, где написано что это плохо, по каким словам гуглить "c++ code smells" or what?
Go to the top of the page
 
+Quote Post
ARV
сообщение Aug 17 2012, 14:59
Сообщение #41


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

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



Цитата(Idle @ Aug 17 2012, 18:35) *
и что делать в этом случае? опрос проходом сверху вниз? опрашивать сотни объектов? поллинг т.е. ?
а если сотни объектов пошлют месседжи - это, конечно, кардинально изменяет ситуацию?
Цитата(Idle @ Aug 17 2012, 18:35) *
как это называется, где написано что это плохо
где написано, что поллинг - плохо? в ОС Windows ВСЕ события рождаются в результате ПОЛЛИНГА, система callback-ов весьма слабенькая... и Билл Гейтс не рвет пейсы от этого sm.gif


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
Idle
сообщение Aug 17 2012, 15:07
Сообщение #42


Местный
***

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



Цитата(ARV @ Aug 17 2012, 18:59) *
а если сотни объектов пошлют месседжи - это, конечно, кардинально изменяет ситуацию?

так сообщения ожидаются редко, или это не имеет значения?

Цитата(ARV @ Aug 17 2012, 18:59) *
где написано, что поллинг - плохо? в ОС Windows ВСЕ события рождаются в результате ПОЛЛИНГА, система callback-ов весьма слабенькая... и Билл Гейтс не рвет пейсы от этого sm.gif

не знаю, _ты_ мне скажи где написано как надо делать, ссылку пока дали только одну - ни с родителями ни с поллингом не связанную sad.gif

Go to the top of the page
 
+Quote Post
ARV
сообщение Aug 17 2012, 15:34
Сообщение #43


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

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



все, что я хотел, я _вам_ сказал, добавить могу только путем развития темы... но _вас_, очевидно, это не интересует...


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Aug 17 2012, 15:43
Сообщение #44


;
******

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



Цитата(kolobok0 @ Aug 17 2012, 16:51) *
вам несколько раз правильно сказали уже - помидор ничего не знает о месте его нахождения.
[кусь]
и строго говоря указатель на парэнт - звоночек о том, что консерваторию надо менять...

Это понятИйное sm.gif
Помидор не знает, где находится, но обязан знать, кому жаловаться на свое состояние. Такшта.
Но есть масса чисто технических вопросов: а кто ему, собсна, отдает поток исполнения, этому овосчу?
Становится похоже на то, что и эвенты и поллинг окажутся одинаково хлопотными по ресурсам.
Это всё от постановки задачи biggrin.gif Idle, без хотя бы альтернативной формулировки, тема так и останется флеймообразной. Мсм.
Go to the top of the page
 
+Quote Post
ARV
сообщение Aug 17 2012, 16:44
Сообщение #45


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

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



Цитата(_Pasha @ Aug 17 2012, 19:43) *
Это понятИйное sm.gif
Помидор не знает, где находится, но обязан знать, кому жаловаться на свое состояние. Такшта.
традиционное, как я говорил, для программистов: обязать ни в чем не повинный помидор и потом с него требовать sm.gif в реальной жизни так не бывает. и чем сильнее абстагирование от реальности, тем сложнее объяснить смысловые взаимосвязи... "Заводной апельсин" - читали? wink.gif


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

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 00:28
Рейтинг@Mail.ru


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