Сколько методы могут класс C# иметь

Как с большинством вещей, легче не сделать что-то, чем сделать это.

, Если Вы хотите произвести большие строки к GUI, может случиться так, что независимо от того, что Вы производите к, может обработать строки в частях лучше, чем как большая строка (например, связывая текст в текстовом редакторе - обычно они сохраняют строки как отдельные структуры).

, Если Вы хотите произвести в файл, передайте данные потоком вместо того, чтобы создать большую строку и произвести это.

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

16
задан Rex M 15 September 2009 в 00:58
поделиться

6 ответов

16,7 миллиона на сборку на метод (не класс).

27
ответ дан 30 November 2019 в 15:12
поделиться

Я не знаю, сколько методов может иметь класс C #, но я знаю, что когда вы думаете об этом, вы наверняка делаете что-то не так.

Если они есть предел (в чем я сомневаюсь) настолько высок, что вы не сможете его превысить. За исключением того, что у вас действительно плохой дизайн класса.

См. Анти-шаблон «Бог-объект» .

ОБНОВЛЕНИЕ :

Хотя я до сих пор точно не знаю, что вы хотите достичь, я по-прежнему считаю, что вам определенно следует создать множество классов с помощью всего лишь нескольких методов по следующим причинам:

  • Производительность : если вы помещаете все свойства в один класс, для каждого свойства память должна быть выделяться при создании экземпляра, даже если вам нужно только 5% свойств в вашем классе

  • Модульность : если вы создаете много классов, вы можете заставить их все реализовать интерфейс / абстрактный класс и тем самым определить аналогичную структуру, которая поможет сделать ваше приложение более модульным.

  • Структура : довольно просто увидеть, какие методы используют какие свойства, когда только они находятся в одном классе - иначе все может стать действительно беспорядочным

  • Время компиляции : при изменении реализации одной функции другие не должны компилироваться повторно, поскольку они находятся в другие классы

16
ответ дан 30 November 2019 в 15:12
поделиться

Метод Type.GetMethods возвращает массив, который должен быть индексирован целым числом, поэтому я бы сказал, что у вас не может быть больше, чем int.MaxValue методов для каждого класса.

4
ответ дан 30 November 2019 в 15:12
поделиться

Более чем вы когда-нибудь захотите поместить в один класс.

1
ответ дан 30 November 2019 в 15:12
поделиться

Да ...

Это называется здравым смыслом. Старайтесь не перегружать класс, это, скорее всего, нарушит принцип единой ответственности, и никто не сможет его понять.

В конце концов, класс существует только для того, чтобы помочь разработчику, который не может вместить более 7 данных. сразу в его кратковременную память »(Да, я знаю, что это опасное заявление)

0
ответ дан 30 November 2019 в 15:12
поделиться

Я так не думаю. Однако при соблюдении и рассмотрении хороших практик и рекомендаций по разработке программного обеспечения следует естественным образом ограничивать количество свойств и методов, которыми обладает класс, до того, что имеет смысл и абсолютную необходимость. К таким практикам относятся SOLID, KISS (делайте это просто), DRY (не повторяйтесь), композицию, рефакторинг, наследование и т. Д.

0
ответ дан 30 November 2019 в 15:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: