Функция класса в отдельном файле

Статус
В этой теме нельзя размещать новые ответы.
иногда такой подход вполне оправдан так как может быть куча тяжелых методов, которые используются редко и в коде только мешаются постоянно. ИМХО мало кайфа ворочить файлы в несколько тыщ строк
Тогда самое время пересмотреть архитектуру и провести рефакторинг.
 
kostya.sys наборот,
сделать отдельную функцию и вызывать её из метода-обертки,
"декоратор" называется.

Но наследование тут все-же лучше

мало кайфа ворочить файлы в несколько тыщ строк
Зависит от качества кода и IDE. мне так вполне нормально.

А вообще, тема надумана. Попытка решить проблему конфликта версий через разделение класса между файлами - это есть неправильно. CVS/SVC лучше
 
pavel.dolinin

Скорее всего нужно сделать так:

Файл MyClass1.php содержит класс MyClass1, из которого необходимо вынести метод function1().

Файл MyClass2.php содержит класс, унаследованный (extends) от MyClass1 и реализующий метод function1().

Далее в приложении используется только класс MyClass2 с реализованным методом function1().
 
и чем же наследование лучше ?
оно быстрее ?
понятней ?

по моему с ним только ряд проблем возникает
необходимость создания объекта "дополненного" класса, что не всегда актуально и модет привести к существенным изменениям архитектуры.

Каждый раз придется вспоминать что вон в том потомке был такой метод, а вон там другой, а мне нужно оба сразу здесь и сейчас.

С функциями все прозрачно, используется часто - ей место в классе, редко - в отдельный метод ее чтоб не мазолила глаза

Хотя спорить не хочу так как разговор по сути безпредметен.
 
kostya.sys
т.е. по вашему наследование вообще нужно убрать из парадигм ООП?
 
boombick
Этого я не говорил, просто в данном случае считаю наследование палкой о двух концах и предпочел бы его избежать.
 
по моему с ним только ряд проблем возникает
необходимость создания объекта "дополненного" класса, что не всегда актуально и модет привести к существенным изменениям архитектуры.
тогда пора задумыватся об изменении архитектуры
 
понимаешь ... так должна быть довольно большая функция класса, типо handler которая модет и меняться
может я буду не оригинальным и повторюсь, читайте Мартина Фаулера - РЕФАКТОРИНГ, дословно - стройте свой код так, чтоб функция была не более 10-15 строк.
В связи с этим могу лишь посоветовать, реализовать данный handler как отдельный класс.
 
абалдеть, я тащусь от этого форума
куча бесполезного трепа по беспредметным темам, советы использовать одно, чтото прочитать
Фаулер много чего писал, методология ХР, к примеру рекомендует использовать наиболее простые и очевидные решения на текущий момент. У меня есть простое как доска решение, которое работает, и прекрасно укладывается в нынешнюю архитектуру. Во имя чего, собственно говоря, мне необходимо от него отказываться?

а к выражению "- стройте свой код так, чтоб функция была не более 10-15 строк" я отношусь скептически, разработчику виднее как написать метод. Подходов у его разбиению на части много: DRY, уход от вложенности и тд
 
kostya.sys, ваше решение гораздо больший трёп, нежели предложения остальных. Вы очередная гадалка, рассуждающая о коде, которого не видела, и пытающаяся на основе кофейной гущи дать неверное решение. Решение же можно принимать на основе кода :)
 
Тема закрыта.

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