Зачем нужен модуль
Перейти к содержимому

Зачем нужен модуль

Зачем вообще нужны модуль числа

Здравствуйте, дорогие гражданины форума и дорогие математики. Зачем вообще нужны модуль числа. Кто ввел эту понятию?

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Зачем вообще нужны расчеты?
Математики всех стран! Кто подскажет где применяются всевозможные математические алгоритмы, ну.

Зачем вообще нужны шаблоны?
Ребят, подскажите, зачем вообще нужны шаблоны, если можно внутри класса создать статический массив.

Зачем вообще нужны одноклассники и вконтакт?
Вот, в VK вонючей в профиле разместил ссылку на свой ресурс: оно ответило при клике на ссыль: .

3132 / 1325 / 156
Регистрация: 19.12.2009
Сообщений: 1,808

Модуль числа — это аналог метрики в одномерном эвклидовом пространстве.
Кто ввёл? Кто его знает, это уже вопрос к Википедии, думаю арабы.
Зачем он нужен? А зачем нужен корень, синус, експонента? Это все примитивные математические абстракции, которые находят свое неотьемлемое применение в той, или иной области. В даном случае модуль природно возникает, как я уже сказал, в качестве метрики для вещественных чисел, соответственно идея модуля числа после была обобщена на метрические пространства произвольной природы.

Модуль и сетка

Модуль в 8 пикселей — базовая размерная единица интерфейсов Контура. На основе модуля строятся типографика и контролы, выбираются размеры для иконок, высчитываются отступы между элементами.

Мы используем модуль везде, где это не нарушает эстетики и не противоречит здравому смыслу.

Зачем нужен модуль

Использование модуля делает дизайн вычисляемым и более предсказуемым:

Модуль упрощает выбор размеров

Без модуля шагом становится 1px и выбирать приходится из избыточного количества вариантов. Модуль ограничивает выбор и экономит время на рутинных задачах верстки.

Модуль делает решения объяснимыми

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

Модуль ускоряет перенос дизайна в код

Если разработчик знает, что все размеры должны быть кратны 8px, то отступ в 7px в макете не вызовет вопросов. Разработчик сам примет правильное решение и исправит ошибку без обращения к дизайнеру.

Почему 8

Исторически интерфейсы Контура верстались с отступами, кратными 5 и 10px, — стандартный выбор для небольших проектов, где удобство круглых цифр важнее системности. Но шаг 10px проигрывает 8px, когда речь заходит о построении на основе одного модуля всей дизайн-системы.

Модуль 8 пикселей:

  • Можно более последовательно использовать во всех элементах дизайна: контролы, иконки, типографика
  • Имеет меньший шаг — больше вариативности
  • Имеет два подмодуля 4px и 2px, а не один, как у 10px
  • Объекты с размером, кратным 0,5m, всегда можно разместить по центру, в отличие от 10px сетки, в которой подмодуль нечетный
  • Это отраслевой стандарт

Принципы

Модуль 8px — основной, обозначается «m». В размерах до 40px допустимо использовать шаг в полмодуля: 0,5m.

Например, у шрифта размером 18px предусмотрено две высоты строки: 24px для коротких подписей, где нужна компактность и 28px для основного набора:

В более мелких размерах этот шаг может быть и 0,25m. Например разница в высоте строки для шрифта 14px — 0,25m: 22px для основного набора и 20px для коротких подписей.

Модуль имеет прикладное значение — является ориентиром для выбора размеров, но самостоятельной ценности у него нет, поэтому макеты не нужно фанатично вписывать в восьмипиксельную сетку.

«Сетки объясняют не красоту макета, а его закономерности». Данил Ковчий

«Простое правило хорошей вёрстки — не повторять ритм на соседних этажах». Бюро Горбунова

Подробнее о том, как использовать модуль в верстке, написано в гайде «Отступы и выравнивание».

Что такое модуль

Модуль — это математическая операция, которая превращает отрицательные числа в положительные. Обозначается при помощи двух вертикальных черточек: \(|…|\). Проще всего понять, что делает функция модуля, на примерах:

Посмотрите на примеры: если взять модуль от любого отрицательного числа, вы всегда будете получать положительное.

А что, если взять модуль от положительного числа? Оказывается, не будет ничего: какое число было, такое оно и останется. Модулем от положительного числа будет то же самое положительное число:

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

Кстати, модуль от ноля будет просто ноль:

В общем виде определение модуля числа можно записать в виде формул:

$$ |a|= \left[ \begin a, \qquad при \quad a \geq 0, \\ -a, \qquad при \quad a \lt 0. \end \right.$$

Глядя на это определение, у вас может возникнуть вопрос: почему \(|a|=-a \;при \; a \le 0\)? Все очень просто, если \(a\) отрицательное, то как превратить отрицательное число в положительное? Правильно, поставить перед ним еще минус (минус на минус дает плюс), именно это мы и сделали.

Вот и все, теперь вы знаете, что такое модуль от числа. Зачем же нужна такая странная математическая операция, которая только и умеет, что превращать отрицательные числа в положительные?

Модуль широко используется для обозначения, например, абсолютного значения величин. В физике знаки плюса и минуса нужны для указания направления. Например, знак минус перед скоростью означает, что тело движется в одну сторону, а знак плюс — в другую. Если же вам нужно просто значение величины скорости, без указания направления, то используется модуль.

Кроме алгебраического, полезно еще знать и геометрическое определение модуля. Представьте, что автомобиль переместился из начальной координаты \(x_1\) в конечную координату \(x_2\) (См. Рис.1).

Для чего нужны модули?

Мо́дульное программи́рование — это организация программы как совокупности небольших независимых блоков, называемых модулями, структура и поведение которых подчиняются определенным правилам.[1] Использование модульного программирования позволяет упростить тестирование программы и обнаружение ошибок. Аппаратно-зависимые подзадачи могут быть строго отделены от других подзадач, что улучшает мобильность создаваемых программ.

Мо́дуль — функционально законченный фрагмент программы. Во многих языках (но далеко не обязательно) оформляется в виде отдельного файла с исходным кодом или поименованной непрерывной её части. Некоторые языки предусматривают объединение модулей в пакеты.

А значит так и следует использовать. Например блок комментариев вполне заслуживает стать модулем. Поскольку ему нужно знать только идентификаторы сущностей, в которых он вызывается. Такой модуль можно использовать для чего угодно. Например комментировать статьи, фотографии, видео и все такое прочее. Которые в свою очередь тоже могут являться отдельными модулями =)

Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать

ppokrovsky

Paulus @ppokrovsky

Думаю, что вопрос здесь не про определение модульности в целом, а про модульность в контексте Yii.

В Yii модуль это мини-приложение, имеющее собственные модели, контроллеры и представления. Модуль не может существовать сам по себе, только в контексте приложения. Модули наследуют от yii\base\Module. Пример модуля — админка к CMS.

Ответ написан более трёх лет назад
Нравится 1 1 комментарий

bitver

Модуль может существовать сам по себе. Приложение frontend в advanced шаблоне — это модуль.
Модуль должен уметь существовать сам по себе, на то и название.
Скорее всего вы имели в виду, что модуль в контексте Yii не может существовать без самого фреймворка и $app->run(), но это одно из немногих почему Yii не любят — сильная связность.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *