Ребята, я извиняюсь, но сабж, мягко говоря, некорректен. .NET определяется тем же тех. персоналом (не маркетологами) мелкософта как среда разработки распределенных приложений, а не как какой-либо язык программирования. Это все равно, что начать сравнивать техонологию JINI с языком C#. Сам по себе язык Java не оперирует, например, такими понятиями как сервисы, persistence, transactions вообще. Вот если делать сравнение .NET с JINI или только с CORBA тогда, imho, будет верно. Тут можно пытаться сравнивать все те design patterns, которые предлагают эти платформы, между собой, но не языки программирования на которых они могут быть реализованы.