Классы должны решать одну простую задачу. Если класс решает больше одной задач, то класс необходимо разбить на два или даже более. Это правило можно встретить в книгах и статьях по паттернам или книгах о хорошем тоне в программировании.
Но не смотря на это я иногда встречаю классы, в которых десятки методов, которые делают совершенно разные вещи.
Если говорить о контроллерах в Web программировании, то тут вполне очевидно, что на один класс контроллера может быть много методов, которые будут реагировать на запросы клиентов.
Но если класс направлен на реализацию какой-то логики, то тут просто необходимо выполнять только одну задачу и не может быть десятков методов. Если у вас в классе даже 10 методов, это уже серьезный вопрос - а не выполняет ли класс больше одной задачи? А действительно эти все методы должны принадлежать одному классу, или перед нами два разных класса?
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
Хороший пример, стандартная библиотека .Net, где, такое чувство, что все классы содержат более 10 методов:). А если учитывать методы расширений, то кол-во методов может зашкаливать:).
Это признак, а не правило. Если это класс File, который работает с файловой системой, то я могу себе представить 20 и даже больше методов. Но когда методов много, стоит задуматься, а все ли они реально принадлежат этому классу или что-то должно жить отдельно?
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.