A class является независимой единицей данных и функций - полей, свойств и методов.
Модуль относится к коду, созданному из одного физического файла. В большинстве случаев, когда вы пишете код в Visual Studio, один файл будет содержать один класс, интерфейс или структуру.
Скомпилированные библиотеки DLL или EXE называются сборками . Сборка может содержать любое количество модулей, а также другие ресурсы, такие как информация о версии. По умолчанию при компиляции сборки в Visual Studio сборка содержит каждый модуль, определенный в проекте.
Что касается того, когда вы будете их использовать: вы используете классы, интерфейсы и структуры все время, это основные принципы. Модули - это вещи, которые вы обычно не контролируете; Опять же, общепринятая практика - иметь один тип на файл, который компилируется в один тип на модуль.
Обычно вы используете отдельную сборку, если хотите повторно использовать определенные типы (содержащиеся в определенных модулях) в нескольких проектах. Вы также можете использовать его для создания жесткой границы между различными компонентами приложения, т. Е. Поместить логику вашей базы данных в одну сборку и вашу бизнес-логику в другую.