Правильно ли использовать в приложении много дочерних классов?
Здравствуйте!
У меня вопрос скорее с эстетической точки зрения. Знаю, что хороший код, это скорее максимально сжатый и понятный код. Но как быть?
Пишу приложение, в котором предполагается множество отдельных подприложений, работающих каждый по своему правилу. Правильно будет сделать один класс и все туда вместить или же создавать под каждое подприложение отдельный дочерний класс, оставив в родительском только общую логику?
Сомнения у меня возникают только в том, что дочерних классов будет очень много, где-то 100-150. Не будет ли это нагромождением. Я планирую подключать родительский класс и отдельный дочерний, в зависимости от его необходимости. Будет ли это правильным?
Adamos, Здравствуйте! Нет, не одной. Все общее я планирую поместить в родительский класс, а индивидуальные правила обработки уже в отдельный дочерний. По мере роста приложения, получится в районе 150 дочерних классов.
Wsearch, отличия в этих классах - действительно логические?
Они обязательно прописываются кодом, и не иначе - или их можно свести к нескольким выбираемым функциям/методам и индивидуальным значениям?
Adamos, Да, можно свести. Не все, но можно. Тогда ведь весь этот объем в родительском классе будет. Я думал написать допустим родительский класс, с общими параметрами, а затем при необходимости подключать к странице нужный дочерний класс.
Wsearch, мы не можем спуститься из астрала чистой теории на почву конкретной задачи? У меня сильное подозрение, что вы городите красоту на ровном месте.
Как думаешь, лучше сделать одну универсальную машину-комбайн на все случаи жизни или создать много разных машин для разных целей?
Или в природе, почему природа создала не один универсальный организм, а миллионы разных видов существ?
Честно говоря, затрудняюсь понять логику, согласно которой эти два риторических вопроса в воздух отмечены ответом на вопрос.
Дзен - это решение о жизни в целом, а не о конкретно стоящей задаче.
Adamos, я согласен с этой критикой но в оправдание могу сказать что исходный вопрос тоже весьма риторический.
Если у тебя получится вытрясти из автора какую-то конкретику, то можно будет переписать вопрос и дать нормальный ответ. А пока все равно кроме абстрактных рассуждений ничего не напишешь
FanatPHP, ну, пара десятков наследников и у меня бывало, правда, половина из них наследовала логику от другой половины. Но то были Кресты, в Пыхе можно было бы упростить схему...
Вы знаете про шаблоны проектирования? Если у вас возникает вопрос подобного рода, первое, с чем вам нужно ознакомиться - это они. Мне кажется, вы сможете выбрать для себя максимально подходящий из вех существующих для решения своей задачи.