Сделал ли .NET программирование raw COM и DCOM избыточным?
Вопрос
Сделало ли внедрение .net Framework необработанное программирование в COM и DCOM избыточным ?
(За исключением использования некоторых сервисов COM +, напримердля управления транзакциями через систему.Пространство имен EnterpriseServices)
Решение
Пока нет, потому что ОС все еще неуправляемая.
Если MS наконец сделает то, о чем их лаборатории говорили в течение многих лет, и создаст полностью управляемую ОС, тогда это будет.
Эта ОС не будет обратно совместимой. Сначала им придется создавать управляемые версии Office, IE и т. Д. Им нужно будет создать виртуальную машину для запуска неуправляемых приложений.
Боль будет похожа на переход с Mac OS9 на OSX.
Другие советы
COM был последней крупной технологией, которую MS фактически использовала.MS продолжает создавать новые API, зависящие от COM;например, новый Media Foundation от Vista (своего рода преемник DirectShow, который также был основан на COM) - это COM API.Как и Direct3D10 (и я бы предположил, что D3D11).Я не думаю, что это исчезнет в ближайшее время, и для многих задач программирования Windows это вовсе не лишнее.
Пока нет, но я бы сказал, что в долгосрочной перспективе это нацелено на. Очевидно, что для более низких уровней всегда найдется место, но из того, что я понимаю в стратегии Microsoft, шаг заключается в том, чтобы заменить как можно больше на управляемый код.
Я полагаю, это зависит от того, что вы подразумеваете под «сырым». Я до сих пор нахожу необходимость выставлять COM API из библиотек классов .Net. Упрощает процесс перехода с определенных платформ на .Net, поскольку я могу заменить небольшие части через COM.
.NET специально разработан для замены COM (и, следовательно, DLL Hell), поэтому, хотя приложения .NET по-прежнему могут получать доступ к компонентам COM, всем новым разработчикам рекомендуется переходить на .NET, за исключением случаев, когда у вас есть очень веские причины придерживаться COM.