Приводит ли DRY безошибочно на путь праведности по шаблону ООП? - PullRequest
1 голос
/ 18 ноября 2010

Предположим: ваши СУХИЕ чувства непогрешимы.Повторное поведение в вашем коде пахнет вам;это гвозди на доске.

Вопрос: Гарантирует ли сохранение СУХОЙ на переднем крае сознания, что вы заметите, когда вам следует искать шаблон дизайна?Судя по тому, какие введения в шаблоны проектирования я видел, якобы «нужно» повторять код.Это правда ООП?

Возможно, более простой вопрос: Было ли когда-нибудь время, когда засуха уводит вас от шаблонов проектирования ООП?

Ответы [ 4 ]

4 голосов
/ 18 ноября 2010

ИМХО, это зависит от конкретной картины.Если вы имеете в виду шаблоны GoF: многие из них нацелены на «разделение интересов».Выделив конкретную задачу, такую ​​как создание объекта (шаблон фабрики) или клонирование объекта (шаблон прототипа), вы перенесете ту часть кода, которая занимается этой проблемой, в центральное место, сделав код более СУХИМЫМ.Шаблоны GoF, такие как Flyweight или Proxy, имеют различную природу, они нацелены на большую эффективность или меньшую сложность.Эти модели в основном ортогональны принципу СУХОЙ.

4 голосов
/ 18 ноября 2010

СУХОЙ и ООП ортогональны.СУХОЙ должен практиковаться, независимо от того, кодируется человек или нет на языке ООИмейте в виду, что DRY относится не только к коду.

3 голосов
/ 18 ноября 2010

Как заметили другие, DRY и OOP - это ортогональные понятия.Окончательным доказательством того, что DRY не уводит вас от шаблонов проектирования ООП, является то, что вы можете применять DRY при использовании языков, которые включают (некоторые из) шаблонов проектирования ООП сами по себе.

0 голосов
/ 18 ноября 2010

Почему размышления о СУХОЙ уводят вас от шаблонов проектирования ООП.Существуют шаблоны проектирования, чтобы вы не повторяли ошибок, которые другие уже совершали много раз, и находили решения для конкретной проблемы.Таким образом, никакая СУХАЯ не уводит вас от шаблонов проектирования ООП.

...