[Из песочницы] Проектирование на основе «отражения»
Всем привет. Недавно задался вопросом: «А что, если… ?». В результате родилась вот такая тема-идея: Проектирование на основе «отражения».
Этой самой идеей я и хочу поделиться с Вами в данной публикации.
Начнем
Возьмем два зеркала и поставим их друг напротив друга.
- Зеркало «А» найдет свое отражение в зеркале «Б».
- Зеркало «Б» найдет свое отражение в зеркале «А». В зеркале «А» так же найдет свое отражение все, что нашло свое отражение в зеркале «Б».(Аналогично все то, что нашло свое отражение в зеркале «А», найдет свое отражение в зеркале «Б».)
Типы отражений
Разделим отражения на два типа: прямое (обозначается •) и глубинное (обозначается °).
- Зеркало «А», отразившись в зеркале «Б» находит в нем свое прямое отражение »•А».
- Зеркало «Б», отразившись в зеркале «А» находит свое прямое отражение »•Б». Отражая то, что было отражено в зеркале «Б», зеркало «А» найдет свое глубинное отражение »°А» — в самом себе.
Теперь возьмем четыре зеркала: А, Б, В и Г
- «А» находит свое прямое отражение »•А» в Б, В и Г.
- «Б» находит свое прямое отражение »•Б» в А, В и Г.
- «В» находит свое прямое отражение »•В» в А, Б и Г.
- «Г» находит свое прямое отражение »•Г» в А, Б, и В.
Повернем зеркало «Б» отражающей стороной к зеркалу «В», а зеркало «Г» отражающей стороной к зеркалу «А».
- Зеркало «Г» находит свое прямое отражение »•Г» в зеркале «А».
- Зеркало «А» находит свое прямое отражение »•А» в зеркале «В». Зеркало «Г» находит свое глубинное отражение »°Г» в зеркале «В».
- Зеркало «В» находит свое прямое отражение »•В» в «Б». Зеркало «А» находит свое глубинное отражение »°А» в зеркале «Б». Зеркало «Г» находит свое глубинное отражение »°°Г» в зеркале «Б».
Теперь зеркало «Г» не находит прямые отражения в «В» и «Б», а только глубинные (»°Г» в «В» и »°°Г» в «Б») через зеркало «А». В «Б» находит свое отражение зеркало «В», в котором нашло свое отражение зеркало «А», а в зеркале «А» нашло свое прямое отражение зеркало «Г». Поэтому, если смотреть что у нас в зеркале «Б», мы увидим:»•В»,»°А» и »°°Г». А, если мы посмотрим в «В», то увидим:»•А»,»°Г» и »•Б» т.к. все работает и в обратную сторону.
Проявление отражений
Теперь давайте представим, что зеркало «В» полупрозрачное и за ним находятся еще три зеркала: Д, Е и Ж. Можно даже сказать, что «В» — некое единое целое, состоящее из нескольких частей. А вместо зеркала «Г» у нас будет ваза с цветами, и теперь «Г» будет находить свое отражение, но сам отражать ничего не будет.
На обратной стороне зеркала «В» проявилось то, что нашло в нем свое отражение:»°Г»,»•А» и »•Б». Эти проявления найдут свои прямые отражения в Д, Е и Ж.
- »°Г» найдет свое прямое отражение »•°Г» в Д, Е и Ж.
- »•А» найдет свое прямое отражение »••А» в Д, Е и Ж.
- »•Б» найдет свое прямое отражение »••Б» в Д, Е и Ж.
А теперь давайте повернем зеркало «Д» отражающей поверхностью к зеркалу «Е».
4.»°Г» найдет свое прямое отражение »•°Г» в зеркале «Е».»•А» найдет свое прямое отражение »••А» в зеркале «Е».»•Б» найдет свое прямое отражение »••Б» в зеркале «Е».
5. «Е» найдет свое прямое отражение »•Е» в зеркале «Д».»°Г» найдет свое глубинное отражение »°°Г» в зеркале «Д».»•А» найдет свое глубинное отражение »°•А» в зеркале «Д».»•Б» найдет свое глубинное отражение »°•Б» в зеркале «Д».
Если запустить этот процесс в обратную сторону, то зеркало «Д» найдет свое прямое отражение »•Д» в зеркале «Е», глубинное отражение »°Д» в «В», далее »°Д» найдет прямое отражение »•°Д» в «А». Ну, а в «Г» уже не отразишься, т.к. это не зеркало, а ваза в цветами.
Какое у всего этого практическое применение
Рассмотрим схему, на которой простенько изображено устройство компьютера.
Перерисуем ее.
Компьютер, как единая целая система состоит из частей: устройства ввода, внешняя память, устройства вывода, процессор, внутренняя память. Каждая из этих частей устроена по своему, и является отдельной, т.к. ее можно заменить. Так же каждую из этих частей можно рассмотреть отдельно. Все части существуют в рамках единого целого (Компьютера), и некоторым образом взаимодействуют между собой.
- Устройства ввода взаимодействуют с внутренней памятью.
- Внешняя память взаимодействует с внутренней памятью.
- Устройства вывода взаимодействуют с внутренней памятью.
- Процессор взаимодействует с внутренней памятью.
Рассмотрим отдельно часть Компьютера «Внутренняя Память»(ОЗУ).
У внутренней памяти есть своя некая структура, она делится на сегменты.
Все части Компьютера, взаимодействуя с Внутренней Памятью — конкретно обращаются к сегментам Памяти, но части Компьютера не имеют никакого отношения к структурам Внутренней Памяти.
При рассмотрении Внутренней Памяти как отдельной части, как подсистемы, некоторые части «Компьютера» находят свое отражение и проявляются в этой подсистеме на основе того, что эта подсистема, как отдельная часть более глобальной системы, взаимодействует с некоторыми частями этой системы.
- Устройства ввода нашли свое прямое отражение »• Устройства ввода» во Внутренней памяти, на основе прямого взаимодействия с Внутренней Памятью. Проявившись в этой системе как »•Устройства ввода» взаимодействуют с Сегментами Внутренней памяти.
- »• Внешняя Память» взаимодействует с сегментами Внутренней памяти
- »• Устройства вывода» взаимодействуют с сегментами Внутренней памяти.
- »• Процессор» взаимодействует с сегментами внутренней памяти
Рассмотрим часть Компьютера — «Процессор».
Напрямую с процессором взаимодействует только Внутренняя Память. Остальные части взаимодействуют с процессором, но через внутреннюю память, поэтому находят в нем не прямое, а глубинное отражение.
Опять же, данные поступают не в весь процессор, а конкретную его часть — регистр.
Взаимодействие частей надсистемы так же находит свое отражение.
- »° Устройства вывода» взаимодействует с внутренней памятью.
- »° Устройство ввода» взаимодействуют с внутренней памятью.
- »° Внешняя память» взаимодействует с внутренней памятью.
- »• Внутренняя память» взаимодействует с регистром процессора.
На самом деле регистр процессора получает данные из Сегмента Внутренней памяти.
Поэтому можно изобразить так
- »° Устройство вывода» взаимодействует с сегментом Внутренней памяти. Сам Сегмент (ОЗУ) не является частью данной структуры и не находится в ней. Проявившись в едином целом «Компьютер» как »•Сегмент (ОЗУ)», он нашел прямое отражение »••Сегмент (ОЗУ)» в «процессоре» на основе взаимодействия ОЗУ с процессором.
- »° Устройства ввода» взаимодействуют с »••Сегмент (ОЗУ)».
- »° Внешняя память» взаимодействует с »••Сегментом (ОЗУ)».
- »••Сегмент (ОЗУ)» взаимодействует с регистром процессора. Из одного поступают данные в другое и обратно.
«Игра» — единое целое, которое состоит из: Персонаж, Ресурсы, Торговец и Шмот. Все перечисленное — отдельные части, но существующие в рамках единого целого.
- У персонажа может быть шмот.
- У персонажа могут быть ресурсы.
- У торговца есть шмот.
- У торговца есть ресурсы.
- Шмот персонажа можно обменять на ресурсы торговца. (Шмот сначала находит свое прямое отражение в персонаже, затем глубинное в торговце и глубинное в ресурсах)
- Шмот торговца можно обменять на ресурсы персонажа.
Вспомним полупрозрачное зеркало «В» и рассмотрим как единое целое одну из частей Игры — «Персонаж»
В персонаже мы можем наблюдать части «персонажа»: инвентарь и рюкзак (как зеркала Д, Е и Ж у зеркала «В») и части нашедшие свое отражение в части «Персонаж» на основе прямого или глубинного взаимодействия с этой частью в рамках иного единого целого («Игра»).
- »• Шмот» может находиться в инвентаре персонажа.
- »• Шмот» может находиться в рюкзаке персонажа.
- »• Шмот» из инвентаря персонажа можно обменять на »° ресурсы торговца».
- »• Шмот» из рюкзака персонажа можно обменять на »° ресурсы торговца».
- »• Ресурсы» персонажа отображаются в инвентаре персонажа.
- »• Ресурсы» персонажа можно обменять на »° Шмот торговца».
Пойдем еще глубже, в инвентарь
- »°° Шмот торговца» можно обменять на »•• Ресурсы персонажа». На самом деле в предыдущий раз »° Шмот торговца» не находил свое отражение в Инвентаре, но он находил свое отражение в »•Ресурсы», а »• Ресурсы» нашли свое прямое отражение »••Ресурсы» в «Инвентарь». На основе этого »° Шмот торговца» нашел свое глубинное отражение »°° Шмот торговца» в «Инвентарь».
- »••Шмот» в инвентаре (надетый) персонажа влияет на вид изображения персонажа, которое показывается в инвентаре персонажа.
- »••Шмот» в инвентаре персонажа можно обменять на »°° Ресурсы Торговца».
Заглянем в »••Шмот»
В »••Шмот», свое прямое отражение нашли «Изображение персонажа» и »°° Ресурсы торговца».
»•• Шмот» — это отдельная, существующая сама по себе часть Игры («Шмот»), которая сначала нашла свое прямое отражение »• Шмот» в части игры — «Персонаж», на основе взаимодействия с этой частью. Затем, будучи частью «Персонажа», не изначальной его частью, а приобретенной, нашедшей свое проявление (на основе взаимодействия с этой частью) — »• Шмот» нашла свое прямое отражение »••Шмот» в изначальных частях «Персонажа»: Инвентарь и Рюкзак.
Там же, в Персонаже и в Инвентаре, •Шмот и ••Шмот взаимодействуют с °Ресурсами торговца и °°Ресурсами торговца.
Обменять Шмот на Ресурсы
Нельзя так просто взять и обменять часть игры «Шмот» на часть игры «Ресурсы». Нельзя так же шмот персонажа поменять на ресурсы персонажа. А вот шмот персонажа обменять на ресурсы торговца можно. То есть эти части сначала должны найти свое отражение в чем-либо и проявиться там, а уже потом быть обменяны при взаимодействии двух частей (Персонаж, Торговец), в которых они нашли свое отражение. Но не стоит зацикливаться на этом моменте.
На этом пока что все. Надеюсь, что Вы прониклись этой идеей и поняли, что я тут написал.