Только мои € 0,02: Чистый ОО-дизайн книги - это одно, заставить вещи работать на все возможные варианты использования на практике - это другое.Принципы чистого ОО-дизайна иногда носят академический характер.- И, может быть, немного черного и белого.
Подумайте, например, о , который использует API Android, предоставленный Google: не только разработчикам приложений, но и производителям устройств, которые нуждаются чтобы специализировать общие API-интерфейсы для своих устройств.
Так что для меня дизайн ПО в большинстве случаев не бывает ни черным, ни белым;важны оттенки серого.
И наконец: на практике я редко (читай: никогда ) не сталкивался с проблемами, вызванными "небрежно" пропущенными ключевыми словами final
(в классах), в то время какнеотраженное чрезмерное использование final
(часто вызванное такими мыслями, как «мой код sooo [здорово | некрасиво], никто на самом деле никогда не захочет изменить его с помощью наследования»)довольно больно.
«Я знаю, что ничего не знаю», кажется, здесь подходит: самонадеянно утверждать, что кто-то знает всех сумасшедших, гениальных, творческих, умных, ...идеи других о том, как можно заранее использовать свой код в будущем.