tgoop.com/emacsway_log/1534
Last Update:
О дихотомии функции и конструкции на примере шахмат.
В шахматах существует такой тактический прием, как связывание:
https://chessrussian.ru/materialy/beginners/svyazka-primenenie-svyazki/
Он означает, что некая фигура (т.е. конструкция, кстати, в шахматах так и говорят - материал), называемая связываемой, принимает на себя функцию по защите иной, прикрываемой, фигуры. И до тех пор, пока свявающая (атакующая) фигура (потребитель) не изменит свой способ взаимодействия с конструкцией (провайдером), связанная фигура не может освободиться от своей функции (изменить своей дислокации) без ущерба для конструкции.
Обратите внимание, что в качестве функции защиты может быть использована и иная конструкция, т.е. фигура. А сама конструкция, т.е. фигура, может быть использована и в качестве иной функции, например, атаки. Это и есть дихотомия функции и конструкции.
Связанную фигуру можно так же рассматривать в качестве слоя трансляции - чтобы защитить свою доменную модель (самую дорогую часть ПО), мы создаем слой трансляции под названием Open Host Service:
this approach of inserting a translation layer for each external system avoids corruption of the models with a minimum of cost
http://ddd.fed.wiki.org/view/open-host-service
Т.е. чтобы предотвратить разрушение модели/конструкции. Все как и в шахматном связывании.
Этот тактический прием открывает также понимание еще и такого явления, как Coupling. Мы не можем изменить дислокацию фигуры (интерфейса), потому что она связана.
См. также.
BY emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Share with your friend now:
tgoop.com/emacsway_log/1534