Информация об изменениях

Сообщение Re[17]: Паттерны/идиомы/стереотипы ООП/ООД кроме GoF и PoEAA от 25.12.2014 23:14

Изменено 25.12.2014 23:15 dimgel

Здравствуйте, gandjustas, Вы писали:

D>>Короче говоря, зачем мне фильтры, если есть наследование.


G>Ну например затем, что фильтры можно утащить в другой проект, а код написанный внутри класса можно утащить только копипастой. Хотя предполагалось что ООП улучшает реюз, поэтому и не нравится. Реюз через наследование — слишком хреновый способ.


Что реюз через наследование хренов, спорить глупо. Но реюз вообще хренов. Потому что в новом проекте мне почти всегда вдруг требуется какой-нибудь пустяковый преподвыподверт, в перетащенное не ложащийся. И кстати, совершенно пофиг, речь идёт про новый проект, новый модуль в том же проекте или вообще соседний метод в том же классе. Во всех случаях я буду рефакторить и подкручивать существующее API: в границах проекта оно зацепить все сорцы, где уже используется, а в новый проект — копипаста рулит, если не хочется трогать старый проект. (А вообще, it depends: иногда дешевле и/или выгоднее исправить и юзать общий код в нескольких проектах. Но оно по жизни всё так — it depends; с этой формулировочкой наперевес даже и спорить как-то скучно и не о чем.)
Здравствуйте, gandjustas, Вы писали:

D>>Короче говоря, зачем мне фильтры, если есть наследование.


G>Ну например затем, что фильтры можно утащить в другой проект, а код написанный внутри класса можно утащить только копипастой. Хотя предполагалось что ООП улучшает реюз, поэтому и не нравится. Реюз через наследование — слишком хреновый способ.


Что реюз через наследование хренов, спорить глупо. Но реюз вообще хренов. Потому что в новом проекте мне почти всегда вдруг требуется какой-нибудь пустяковый преподвыподверт, в реюзанное не ложащийся. И кстати, совершенно пофиг, речь идёт про новый проект, новый модуль в том же проекте или вообще соседний метод в том же классе. Во всех случаях я буду рефакторить и подкручивать существующее API: в границах проекта оно зацепить все сорцы, где уже используется, а в новый проект — копипаста рулит, если не хочется трогать старый проект. (А вообще, it depends: иногда дешевле и/или выгоднее исправить и юзать общий код в нескольких проектах. Но оно по жизни всё так — it depends; с этой формулировочкой наперевес даже и спорить как-то скучно и не о чем.)