Объекты справочники, Граф объектов

craz

Нестандартное звание
да...

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

a.dobrynin

Новичок
В моём случае - это как раз и есть суперобъект, просто я не увидел смысла выносить его сюда полностью из-за его сложности т.к. только 5 страниц люди бы въезжали в принцип его работы и методах хранения информации.

Поэтому привёл абстрактный упрощённый до нельзя пример, никак не связанный с моими данными, только логикой и принципами работы.
 

craz

Нестандартное звание
pastebin... что мы про коней да про коней та?
 

craz

Нестандартное звание
смысл обсуждать сферических коней!? выложите куда нибудь код и сформулируйте еще раз вопрос.
 

a.dobrynin

Новичок
все 3МБ кода я выложить не могу (меня уволят), а вот раскидываться абстрактными примерами близкими по логике к моей программе - это завсегда.

вот ещё один пример
набор сущностей:
дом
адрес
улица
город
район

описание реализации:
в городе есть районы, улицы, дома
улица не находится в районе т.к. одна улица проходит через несколько районов
один дом содержит несколько адресов (находится на углу дома)
улица содержит набор адресов

и.т.д.

в ООП
что от чего зависит и что кого порождает?
 

craz

Нестандартное звание
увольте...

я уж лучше в аське поторчу и что нибудь столь же абстрактное пообсуждаю
 

a.dobrynin

Новичок
это уже не абстрактная задача, я её в своё время решал, но ОЧЕНЬ кривыми методами
а сейчас есть желание переписать.

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

craz

Нестандартное звание
это все абстракции...

входные данные=>

код =>

выходные данные

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

craz

Нестандартное звание
описание реализации:
улица не находится в районе т.к. одна улица проходит через несколько районов - А не пофиг ли, где проходит улица?
один дом содержит несколько адресов (находится на углу дома) - это какой то другой глобус(или настолько частная задача, что решается простым ограничением.)


в ООП
что от чего зависит и что кого порождает?
OOП - объектно ориентированное программирование. Способ отражения в коде объектов реального мира.
Таким образом если есть дом, то он ваще не как не относиться к адресу, дом это стены фундамент окна, но не как не улица адрес район, то есть 1) вы не правильно формулируете задачу, и мы должны были понять что вы имеете ввиду "номер дома"

ну и дальше что у нас адрес

Город, Район, Улица, Номер дома, Номер квартиры,

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

city
raion
street
nh
nf

Это же и храним в базе, и соответственно, следуя логике, если у нас есть база и таблица адресов, то это и есть один класс а столбцы будут свойствами


Короче читайте самые основы ООП - зачем? почему? где? когда?
 

a.dobrynin

Новичок
я пытаюсь выяснить каким образом можно решать задачи по многосвязным объектам, где каждый объект является самостоятельным/независимым (или стремиться к этому)
и из этих кирпичей собирается дерево/граф объектов, которые после этого обретают смысл
 

craz

Нестандартное звание
я пытаюсь выяснить каким образом можно решать задачи по многосвязным объектам, где каждый объект является самостоятельным/независимым (или стремиться к этому)
и из этих кирпичей собирается дерево/граф объектов, которые после этого обретают смысл
ну так приводите вы примеры не связанных объектов. а одного объекта

Знаете у меня теория графов в универе была по разным предметам в общей сложности около 3 семестров, и не в одном предмете мы не проходили и нам не преподавали построение графа по составляющим адреса.
 

a.dobrynin

Новичок
дом, улица
как вы изволили выразиться:
дом это стены фундамент окна
улица - это дорога по которой ездят машины.

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

таблицы следующие
улица:
id
название
дом:
id
этажность
адрес:
id_street
id_house
номер

какие объекты создали бы вы для реализации данной задачи и как бы они связывались между собой?
 

craz

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

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

a.dobrynin

Новичок
на мой взгляд это уже тролинг.
этажность домов используется в нормально развитых гис системах, например 2GIS.
а вот двойные адреса - это стандарт в РФ для домов которые находятся на пересечении улиц
PHP:
    | |
____| |___
____   ___
дом | |
    | |
 

Вурдалак

Продвинутый новичок
а вот двойные адреса - это стандарт в РФ для домов которые находятся на пересечении улиц
— мне теперь понятно почему отношение «живут на одной улице» не является отношением эквивалентности :D Прикольно, я не знал.
 

a.dobrynin

Новичок

craz

Нестандартное звание
ты чё, обиделся что ли?
я сказал, что разговор ни к чему не приведёт, лучше
смысла?

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

tz-lom

Продвинутый новичок
вот ещё один пример
набор сущностей:
дом
адрес
улица
город
район

описание реализации:
в городе есть районы, улицы, дома
улица не находится в районе т.к. одна улица проходит через несколько районов
один дом содержит несколько адресов (находится на углу дома)
улица содержит набор адресов

и.т.д.

в ООП
что от чего зависит и что кого порождает?
никто никого не порождает ,это контейнеры связей,а не сущностей
у тебя есть пул домов,адресов,улиц,районов,городов
у конкретного дома есть метод получения адресов ,причём дом хранит допустим один адрес или вообще его идентификатор,а пул адресов может вернуть список всех эквивалентных адресов

вообще в таких примерах всегда есть затык в том что можно сделать сложно,можно архисложно но при этом всё это не будет использоваться
если этот граф предполагается обходить сверху вниз то это один код , если снизу вверх - другой
да,если надо вообще ходить по всем-всем-всем связям то получается именно сферический сложнокод в воображении ,но такое редко когда нужно
 
  • Like
Реакции: craz
Сверху