String stringrep = myintvar.ToString("X");
int num = int.Parse("FF", System.Globalization.NumberStyles.HexNumber);
Мы, люди, ограничены, когда дело доходит до решения сложных проблем сразу. Однако нам дарована способность разложить сложную проблему на (возможно, очень большое) количество отдельных проблем, которые не слишком сложны для решения большой проблемы.
Я думаю, что одним из основных аспектов является повторное использование . Когда вы строите вещи по модульному принципу, вряд ли есть что-то вроде: «О, я уже делал это раньше, но чтобы использовать это, мне также нужно получить эту и эту функциональность, которая не имеет абсолютно никакого отношения к моему приложению».
Кроме того, легче понять. Я могу' не держать в голове кучу вещей одновременно. Когда код является модульным, легче установить «область» вещей, которая имеет смысл сама по себе. И поскольку эта область имеет тенденцию быть маленькой, я могу понять ее как целое, а не ее части.
Наконец, когда вещи меньше, их легче тестировать и поддерживать. Кроме того, ваши тесты быстрее определяют, где находится ошибка, когда они проверяют только небольшую часть приложения.
ваши тесты быстрее покажут, где находится ошибка, как только они протестируют только небольшую часть приложения. ваши тесты быстрее покажут, где находится ошибка, как только они протестируют только небольшую часть приложения.Мои основные причины размещения кода в разных модулях:
Модуляризация и разделение важны по многим причинам, некоторые из них:
Его также можно рассматривать как базовое действие Архитектуры приложений , которое:
Вот почему «расчет финансового портфеля» будет фактически разделен на:
Плюс несколько сквозных:
. Отношение к такому виду функциональных требований как к одному большому монолитному модулю вынудило бы разработку реализовать все подпрограммы последовательно как единое целое.
Принимая во внимание, что с четкой архитектурой приложения вы можете начать работу над более общими и сквозными модулями, продолжая при этом дорабатывать другие, более бизнес-ориентированные модули.
Это также заставляет вас определять больше интерфейсов и анализировать проблемы взаимодействия ваши различные модули должны будут решить (прямая типология n-to-n? Автобус ?, ...)