Лыцарь пичальнава образа - Про инкапсуляцию [entries|archive|friends|userinfo]
silly_sad

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

Про инкапсуляцию [Jun. 15th, 2005|03:22 pm]
Previous Entry Add to Memories Tell A Friend Next Entry
Не надо путать:
возможность невникать в устройство объекта
с невозможностью вникать в устройство объекта.

Первое есть добро, второе есть зло. Маркетоиды от ООП регулярно подменяют первое вторым.
LinkLeave a comment

Comments:
From:(Anonymous)
Date:June 19th, 2005 - 06:22 am
(Link)
Ни фига не зло. Если есть возможность наступить на грабли, на них обязательно наступят. Если есть возможность завязаться на устройство объекта - это сделают. Писец начнётся, когда объект захотят поменять.
From:[info]silly_sad@lj
Date:June 20th, 2005 - 02:59 am
(Link)
> Если есть возможность наступить на грабли, на них обязательно наступят.

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

> Если есть возможность завязаться на устройство объекта - это сделают.

Верно ! Причём это делают все и всегда. Потому что именно устройство чёрного ящика определает его поведение, и если вы ждёте некоторого вывода от него, то вы уже привязаны к его устройству. (то что вы сказали это лозунг из арсенала маркетоидов)
Если ЧЯ сделать белым, то его поведение предсказать проще. Лично я нелюблю сюрпризов. А вы ?

> Писец начнётся, когда объект захотят поменять.

А вот тут отравление маркетингом блещет всеми гранями:
1) Для кого начнётся писец? Табличку "не влезай убьёт" видел? видел - сам виноват. Вокруг каждой трансформаторной будки забор с колючкой не возведёшь. И я не хочу платить из своего кармана за сохранение здоровья тех идиотов которые не читают табличек.
2) Програмист иногда вынужден лезть в чужие объекты (причин валом), и если этот объект у него в руках и он работоспособен, то изменить его можно _ВСЕГДА_, но с разными трудозатратами. И чем сложнее внести изминения, тем выше вероятность ошибки.
3) Никакие инструменты не защищают от травм. безопасное програмирование - маркетиноговый миф ! (поклонникам этого мифа предлагаю отказаться от всех столярных и кухонных инструментов)
4) И наконец когда объект захотят поменять и если сделают это с ошибкой то тогда начнётся писец, а если объект - ЧЯ, то писец начнётся сразу же как только объект начнут использовать. Причём не факт что этот писец сразу проявится. Чаще он выражается в том что сотня объектов для своих собственных вычислений сто раз вычисляет (каждый для себя) одно и то же промежуточное значение.


Мораль:
Станете ли вы утверждать что ваша квартира станет безопаснее если напичкать её чёрными ящиками ?
Почему же вы утверждатее что безопаснее становится программа напичканная ими ?

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