login@homenode/thisnode:tag/subspase/name/metod/params
Предполагается что после двоеточия идет таг какой-то записи, если это не корневая запись. если тага нету то может быть
Документы не вложены друг друга как в папки. Просто имена (tag) могут содержать слеши и эмулировать вложенность.
1.1. Subspase
comments
frends
trako
однин из способов подключения модуля — это подключение его через subspase
Внутри сабспейса логика того что идет после него, может быть произвольной но часто она похожа на то что идет до собспейса.
все что после двоеточия с точки зрения адресации — опцианальные парметры. Полноценный НПЖ адрес может быть без всего этого.
Все пространство НПЖ это последовательность вложенных субспейсов
Сначала узел (субспейс внутри которого лежат аккаунты) Этот субспейс описывает кусок адреса до двоеточия
Написав двоеточие и возможно какой-то таг, мы попадем в запись какого-то из аккаунтов. Т.е. мы будем иметь дело с субспейсом записи.
Классы: узел, аккаунт, запись, коммент, френды
Внутри аккаунта лежат объекты класса рекорд — рекорд нигде
переход от одного класса к дургому переходится в соответствии с адресом
[картинка]
Каждый адрес специфицирует объект, применный метод и параметры
У объекта есть некоторые обязательные характеристики
например аккаунты
все кроме узла должно содержаться в аккаунте
1.2. Metod
Как мы разбираем произвольный адрес?
Первым делом мы находим в нем метод. Их конечное чило — это резервированные слова
Все что справа от него — это параметры
Метод выбирается самый левый. Если правее есть какой-то еще мето мы его тоже считаем параметром
После этого мы работаем с тем что слева.
нам надо понять о каком объекте идет речь. Начинаем развлекаться — ищем сабспейс и по сабспейсу определяем какого он класса. Сабспейс ищется самый правый потому что у нас два вложенных сабспейса нам интересен самый глубокий сабспейс.
Например трако.
kuso@npj:test/trako/7/comments/23/add — в нашей ситуации субспейсом опредляющим класс будет comments
если мы сабспейса не нашли — мы начинаем искать небуквенные определители — в нашем случаи это двоеточия.
По наличию двоетоия определяется рекорд
По наличию чего-то перед собакой — аккаунт
А если перед собакой пусто — значит мы в корне хоменоды
Аккаунт kuso@npj
Адрес kuso@npj:ТестДок/MyTest/Good
Контекст — имеет смысл только для записей — оно показывает на родителя записи, содержит его имя
Класс — это «телефонистка или грузчик». Т.е. либо субспейс, либо если его нету двоеточия или аккаунт
Субпространство например — kuso@npj:ТестДок
имя ТестДок/MyTest/Good или для комментария это например 23
метод — «это то что делать»
параметры
Метод и параметры — это то что надо делать а то что слева от двоеточия — это где мы находимся.
[KFREYF GHBVTH C JABCJV NTKTAJYJV]
ЕКАТЕРИНБУРГ/Компания/джетстайл/телефон/3795911/звонить
жирным выделены сабспейсы — их два
суть сабспейса в том меняет
Екатеринбург — георгафия
Компания —
Джетстайл — какая именно
Телефон — объект
т.е. в этом примере мы понимаем что нужно звонить и отдаем это лефонистке — т.е. говорим ей что надо звонить и где она находится.
[kfreyf тут я не врубился про субпространство и субспейс]
Вопрос Фактической обработкой занимается субспейс? Ответ да.
Вопрос — Что делать с определнным методом решает класс или нет? Является ли метод экзотическим параметром для работы класса или это что-то большее?
Не совсем так — Для ядра Важен класс и метод
Для модулей достаточно класса.
[лакуна очень интересная :(]
Вопрос Когда мы развалили адрес по субспейсу что делать с адресом это дело этого класса? Ответ да. Например френдс кладет на спейс и работает только на аккаунт. Потому что френдс завязан на аккаунт.
Вопрос Что такое НПЖ объект?
Это хранитель сущности которая выстраивается по адресу
[лакуна потому что для програмистов мне не понятно]
Идея которая заложена в адресации — у нас нет строгого дерева, оно может быть любым. Все что нам надо хнать это что нам надо делать и самое глубокое место где мы хотим это делать. А потом оно уже само будет разбираться как это ему делать. Этим ситема адресации НПЖ драматически отличается от любой нам известной. [лакуна]Именно так работает ядро.
Кстати забавная штука [лакуна]
[лакуна про преобразование НПЖ адреса в УРЛ]
дальше кусо пошел на свой комп показывать примеры
Мы не говорили еще про сокращенную адресацию. А бывают еще фильтры и украшательства типа дата время.