вы задали интересный вопрос.
Я перефразирую это: почему объектно-ориентированный? А почему .NET? А когда нет?
Полагаю, нужно помнить, почему ОО так популярен. В современном мире большая часть спроса на программы в основном связана с бизнесом. Вот почему объектно-ориентированные парадигмы так популярны; часто это самый простой способ превратить бизнес-задачу в программу. Вы в основном смотрите на бизнес, разбираете, что представляют собой взаимодействующие части (люди, машины, места и т. Д.), И пишете что-то, что имитирует это в коде. Таким образом, ОО популярен, потому что позволяет имитировать многие ситуации в реальном мире.
.NET, я подозреваю, популярен, потому что кажется таким всеобъемлющим С его помощью вы получаете множество компонентов, и все, что вы на самом деле делаете, это имитирует бизнес-проблему, создавая некоторую соединительную ткань между этими компонентами. Добавьте к этому тот факт, что его уже использует огромное сообщество людей, и сетевой эффект говорит в пользу .NET.
Наконец, когда бы вы НЕ использовали .NET?
Если ваша проблема не является бизнес-проблемой, то есть не просто связана с подключением некоторых готовых компонентов, вам может потребоваться что-то другое. Например, если вы пишете драйвер для нового аппаратного обеспечения, этот драйвер действительно является уровнем ниже бизнес-уровня, потому что
1) Должен работать независимо от того, для чего используется состав компонентов
2) Бизнес-уровню на самом деле все равно, как он работает
Существует множество проблем программирования, при которых вы не будете использовать модель ОО, но я подозреваю, что ОО полезен, потому что он соединяет все части (которые не являются ОО, такими как базы данных и драйверы) для создания целого.