Всем привет. Недавно задался вопросом: «А что, если… ?». В результате родилась вот такая тема-идея: Проектирование на основе «отражения».

Этой самой идеей я и хочу поделиться с Вами в данной публикации.

image

Начнем


Возьмем два зеркала и поставим их друг напротив друга.

image

  1. Зеркало «А» найдет свое отражение в зеркале «Б».
  2. Зеркало «Б» найдет свое отражение в зеркале «А». В зеркале «А» так же найдет свое отражение все, что нашло свое отражение в зеркале «Б».(Аналогично все то, что нашло свое отражение в зеркале «А», найдет свое отражение в зеркале «Б».)

Типы отражений


Разделим отражения на два типа: прямое(обозначается •) и глубинное(обозначается °).

  1. Зеркало «А», отразившись в зеркале «Б» находит в нем свое прямое отражение «•А».
  2. Зеркало «Б», отразившись в зеркале «А» находит свое прямое отражение «•Б». Отражая то, что было отражено в зеркале «Б», зеркало «А» найдет свое глубинное отражение «°А» — в самом себе.

Теперь возьмем четыре зеркала: А, Б, В и Г


image

  1. «А» находит свое прямое отражение «•А» в Б, В и Г.
  2. «Б» находит свое прямое отражение «•Б» в А, В и Г.
  3. «В» находит свое прямое отражение «•В» в А, Б и Г.
  4. «Г» находит свое прямое отражение «•Г» в А, Б, и В.

Повернем зеркало «Б» отражающей стороной к зеркалу «В», а зеркало «Г» отражающей стороной к зеркалу «А».

image

  1. Зеркало «Г» находит свое прямое отражение «•Г» в зеркале «А».
  2. Зеркало «А» находит свое прямое отражение «•А» в зеркале «В». Зеркало «Г» находит свое глубинное отражение «°Г» в зеркале «В».
  3. Зеркало «В» находит свое прямое отражение «•В» в «Б». Зеркало «А» находит свое глубинное отражение «°А» в зеркале «Б». Зеркало «Г» находит свое глубинное отражение «°°Г» в зеркале «Б».

Теперь зеркало «Г» не находит прямые отражения в «В» и «Б», а только глубинные(«°Г» в «В» и «°°Г» в «Б») через зеркало «А». В «Б» находит свое отражение зеркало «В», в котором нашло свое отражение зеркало «А», а в зеркале «А» нашло свое прямое отражение зеркало «Г». Поэтому, если смотреть что у нас в зеркале «Б», мы увидим: «•В», «°А» и «°°Г». А, если мы посмотрим в «В», то увидим: «•А», «°Г» и «•Б» т.к. все работает и в обратную сторону.

Проявление отражений


Теперь давайте представим, что зеркало «В» полупрозрачное и за ним находятся еще три зеркала: Д, Е и Ж. Можно даже сказать, что «В» — некое единое целое, состоящее из нескольких частей. А вместо зеркала «Г» у нас будет ваза с цветами, и теперь «Г» будет находить свое отражение, но сам отражать ничего не будет.

image

На обратной стороне зеркала «В» проявилось то, что нашло в нем свое отражение: «°Г», «•А» и «•Б». Эти проявления найдут свои прямые отражения в Д, Е и Ж.

  1. «°Г» найдет свое прямое отражение «•°Г» в Д, Е и Ж.
  2. «•А» найдет свое прямое отражение «••А» в Д, Е и Ж.
  3. «•Б» найдет свое прямое отражение «••Б» в Д, Е и Ж.

А теперь давайте повернем зеркало «Д» отражающей поверхностью к зеркалу «Е».

image

4. «°Г» найдет свое прямое отражение «•°Г» в зеркале «Е». «•А» найдет свое прямое отражение «••А» в зеркале «Е». «•Б» найдет свое прямое отражение «••Б» в зеркале «Е».

5. «Е» найдет свое прямое отражение «•Е» в зеркале «Д». «°Г» найдет свое глубинное отражение «°°Г» в зеркале «Д». «•А» найдет свое глубинное отражение «°•А» в зеркале «Д».«•Б» найдет свое глубинное отражение «°•Б» в зеркале «Д».
Если запустить этот процесс в обратную сторону, то зеркало «Д» найдет свое прямое отражение «•Д» в зеркале «Е», глубинное отражение «°Д» в «В», далее «°Д» найдет прямое отражение «•°Д» в «А». Ну а в «Г» уже не отразишься, т.к. это не зеркало, а ваза в цветами.

Какое у всего этого практическое применение



Рассмотрим схему, на которой простенько изображено устройство компьютера.

image


Перерисуем ее.

image


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

  1. Устройства ввода взаимодействуют с внутренней памятью.
  2. Внешняя память взаимодействует с внутренней памятью.
  3. Устройства вывода взаимодействуют с внутренней памятью.
  4. Процессор взаимодействует с внутренней памятью.


Рассмотрим отдельно часть Компьютера «Внутренняя Память»(ОЗУ).



image


У внутренней памяти есть своя некая структура, она делится на сегменты.
Все части Компьютера, взаимодействуя с Внутренней Памятью — конкретно обращаются к сегментам Памяти, но части Компьютера не имеют никакого отношения к структурам Внутренней Памяти.

При рассмотрении Внутренней Памяти как отдельной части, как подсистемы, некоторые части «Компьютера» находят свое отражение и проявляются в этой подсистеме на основе того, что эта подсистема, как отдельная часть более глобальной системы, взаимодействует с некоторыми частями этой системы.

  1. Устройства ввода нашли свое прямое отражение «• Устройства ввода» во Внутренней памяти, на основе прямого взаимодействия с Внутренней Памятью. Проявившись в этой системе как «•Устройства ввода» взаимодействуют с Сегментами Внутренней памяти.
  2. «• Внешняя Память» взаимодействует с сегментами Внутренней памяти
  3. «• Устройства вывода» взаимодействуют с сегментами Внутренней памяти.
  4. «• Процессор» взаимодействует с сегментами внутренней памяти


Рассмотрим часть Компьютера – «Процессор».



image


Напрямую с процессором взаимодействует только Внутренняя Память. Остальные части взаимодействуют с процессором, но через внутреннюю память, поэтому находят в нем не прямое, а глубинное отражение.

Опять же, данные поступают не в весь процессор, а конкретную его часть — регистр.
Взаимодействие частей надсистемы так же находит свое отражение.

  1. «° Устройства вывода» взаимодействует с внутренней памятью.
  2. «° Устройство ввода» взаимодействуют с внутренней памятью.
  3. «° Внешняя память» взаимодействует с внутренней памятью.
  4. «• Внутренняя память» взаимодействует с регистром процессора.

На самом деле регистр процессора получает данные из Сегмента Внутренней памяти.

Поэтому можно изобразить так

image


  1. «° Устройство вывода» взаимодействует с сегментом Внутренней памяти. Сам Сегмент(ОЗУ) не является частью данной структуры и не находится в ней. Проявившись в едином целом «Компьютер» как «•Сегмент(ОЗУ)», он нашел прямое отражение «••Сегмент(ОЗУ)» в «процессоре» на основе взаимодействия ОЗУ с процессором.
  2. «° Устройства ввода» взаимодействуют с «••Сегмент(ОЗУ)».
  3. «° Внешняя память» взаимодействует с «••Сегментом(ОЗУ)».
  4. «••Сегмент(ОЗУ)» взаимодействует с регистром процессора. Из одного поступают данные в другое и обратно.


Пример практического применения при разборе Игры
Давайте разберем и спроектируем часть Игры. Этот пример уже несколько отличается от примера с зеркалами.

«Игра» — единое целое, которое состоит из: Персонаж, Ресурсы, Торговец и Шмот. Все перечисленное — отдельные части, но существующие в рамках единого целого.

image

  1. У персонажа может быть шмот.
  2. У персонажа могут быть ресурсы.
  3. У торговца есть шмот.
  4. У торговца есть ресурсы.
  5. Шмот персонажа можно обменять на ресурсы торговца. (Шмот сначала находит свое прямое отражение в персонаже, затем глубинное в торговце и глубинное в ресурсах)
  6. Шмот торговца можно обменять на ресурсы персонажа.

Вспомним полупрозрачное зеркало «В» и рассмотрим как единое целое одну из частей Игры – «Персонаж»


image

В персонаже мы можем наблюдать части «персонажа»: инвентарь и рюкзак(как зеркала Д, Е и Ж у зеркала «В») и части нашедшие свое отражение в части «Персонаж» на основе прямого или глубинного взаимодействия с этой частью в рамках иного единого целого(«Игра»).
  1. «• Шмот» может находиться в инвентаре персонажа.
  2. «• Шмот» может находиться в рюкзаке персонажа.
  3. «• Шмот» из инвентаря персонажа можно обменять на «° ресурсы торговца».
  4. «• Шмот» из рюкзака персонажа можно обменять на «° ресурсы торговца».
  5. «• Ресурсы» персонажа отображаются в инвентаре персонажа.
  6. «• Ресурсы» персонажа можно обменять на «° Шмот торговца».

Пойдем еще глубже, в инвентарь


image

  1. «°° Шмот торговца» можно обменять на «•• Ресурсы персонажа». На самом деле в предыдущий раз «° Шмот торговца» не находил свое отражение в Инвентаре, но он находил свое отражение в «•Ресурсы», а «• Ресурсы» нашли свое прямое отражение «••Ресурсы» в «Инвентарь». На основе этого «° Шмот торговца» нашел свое глубинное отражение «°° Шмот торговца» в «Инвентарь».
  2. «••Шмот» в инвентаре(надетый) персонажа влияет на вид изображения персонажа, которое показывается в инвентаре персонажа.
  3. «••Шмот» в инвентаре персонажа можно обменять на «°° Ресурсы Торговца».

Заглянем в «••Шмот»


image

В «••Шмот», свое прямое отражение нашли «Изображение персонажа» и «°° Ресурсы торговца».

«•• Шмот» – это отдельная, существующая сама по себе часть Игры(«Шмот»), которая сначала нашла свое прямое отражение «• Шмот» в части игры – «Персонаж», на основе взаимодействия с этой частью. Затем, будучи частью «Персонажа», не изначальной его частью, а приобретенной, нашедшей свое проявление(на основе взаимодействия с этой частью) — «• Шмот» нашла свое прямое отражение «••Шмот» в изначальных частях «Персонажа»: Инвентарь и Рюкзак.

Там же, в Персонаже и в Инвентаре, •Шмот и ••Шмот взаимодействуют с °Ресурсами торговца и °°Ресурсами торговца.

Обменять Шмот на Ресурсы


Нельзя так просто взять и обменять часть игры «Шмот» на часть игры «Ресурсы». Нельзя так же шмот персонажа поменять на ресурсы персонажа. А вот шмот персонажа обменять на ресурсы торговца можно. То есть эти части сначала должны найти свое отражение в чем-либо и проявиться там, а уже потом быть обменяны при взаимодействии двух частей(Персонаж, Торговец), в которых они нашли свое отражение. Но не стоит зацикливаться на этом моменте.


На этом пока что все. Надеюсь, что Вы прониклись этой идеей и поняли, что я тут написал.

Комментарии (19)


  1. Wesha
    12.04.2019 22:13
    +3

    Отражения, кривляясь,
    Вырываются на волю,
    Хладнокровно улыбаясь
    Или плача, но без боли…
    Зеркала следят за нами,
    Научившись даже слушать,
    Быть и мыслями, и снами,
    Искажая наши души.
    Тонут в зеркале желанья,
    Замедляются движенья…
    Нас отдали на закланье,
    Нас поймали отраженья…


    1. MaxVetrov
      12.04.2019 23:07
      +2

      Mirror
      Mirror
      On the Wall,
      Who Is the Most Narcissistic
      Of Them All?


  1. Daddy_Cool
    12.04.2019 23:00
    +1

    Надеюсь, что Вы прониклись этой идеей и поняли, что я тут написал.

    Извините, но а) нет, б) нет.
    Непонятна связь отражений с возможностями игры. Непонятны игровые цели играющего. Тем не менее, возможно идея интересная — может попробуете объяснить еще раз?


    1. pavellyzhin Автор
      13.04.2019 12:53

      Заменил пример практического применения. Пример с игрой убрал в спойлер.


      1. Daddy_Cool
        13.04.2019 13:14

        Увы. Извините! Понятнее не стало. )
        Вот вам идея для игры.
        Персонаж заходит в комнату с хаотично расположенными зеркалами и ищет там Врага. На высшем уровне сложности зеркала неразрушаемы и непомечаемы ).
        Из ресурсов — боевой дробовик (С) DOOM и баллончик с краской.
        www.youtube.com/watch?v=WoMVfvS8rSo&feature=youtu.be&t=157

        Кулак Брюса Ли


        1. pavellyzhin Автор
          13.04.2019 13:28
          +1

          Вот вам идея для игры.

          Вы хотите чтобы я спроектировал эту игру используя тот способ о котором я рассказываю
          и добавил в публикацию? Или нет? Или боже упаси? =)


          1. Daddy_Cool
            13.04.2019 13:36

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


            1. pavellyzhin Автор
              13.04.2019 14:12

              Если в игре есть части Арена и Персонаж, то реализовываются 3 части: Арена, Персонаж и их взаимодействие. Чтобы в будущем не дописывать костыли и не говнокодить, все эти моменты нужно изначально хорошенько спроектировать. Нужно понимать, что конкретно должно/будет происходить под капотом, какая часть Арены с какой частью Персонажа будет взаимодействовать в тот или иной момент, например: показывать счет, рейтинг, подбирать противника и т.д. И я считаю, что для хорошего проектирования удобно использовать способ основанный на «отражении».


          1. Wesha
            13.04.2019 23:33

            Вы хотите чтобы я спроектировал эту игру

            Главное — чтобы домики деревянные набигали! И ещё чтобы корованы грабить!


  1. Ascar
    13.04.2019 02:45

    Надо это на свежую голову перечитать.


    1. kinall
      13.04.2019 08:13

      *переписать


  1. dsapsan
    13.04.2019 08:25

    Спасибо, теперь я больше не чувствую себя умным=)


  1. Bookvarenko
    13.04.2019 14:35

    Rhenj ? крутО


  1. pallada92
    13.04.2019 17:04
    +1

    Мне кажется, теория автора идеально подходит как основа для бизнес-тренингов и тренингов личностного роста. Она выражена простыми словами, подходит под любую ситуацию. Чтобы достичь успеха и управлять людьми нужно понять одну очень простую вещь: люди и знания подобны зеркалам, которые друг друга отражают. Далее приводятся примеры жизненных проблем и разбор их решений с точки зрения теории «отражений». У этой теории много схем и свой формализм — это большой плюс. При этом требуется длительная подготовка, чтобы научиться строить схему отражений для решения конкретной проблемы. Это вполне можно растянуть на серию книг. Успех гарантирован тем, что только автор понимает, как применять эту теорию, соответственно людям будут постоянно нужны новые книги и тренинги.


    1. dsapsan
      13.04.2019 21:36
      +1

      +1
      Описанная теория не проходит по критерию научности, поскольку не является фальсифицируемой, с помощью неё можно объяснять что угодно.
      Странно, от чего мой комментарий с таким же смыслом яростно заминусовали.


      1. pavellyzhin Автор
        14.04.2019 10:48

        с помощью неё можно объяснять что угодно.

        Как Вы пришли к такому мнению?

        1. Есть много всего, что можно объяснить с помощью нее.
        2. Есть то, что с помощью нее объяснить нельзя.
        3. Есть много, с чем можно провести параллели.
        4. И есть то, что нельзя объяснить иначе.


  1. andreyverbin
    14.04.2019 03:16

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


    1. pavellyzhin Автор
      14.04.2019 11:04

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

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


  1. vitalijlysanov
    14.04.2019 17:15

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

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

    Чтобы нарисовать такое достаточно сказать что плоский фронт отражается от цилиндрической поверхности.
    И аналогичную картину можно повторить при любом масштабировании.