Хотите верьте, хотите нет, но опыт / отзывы от разработчиков VB и Microsoft Transaction Server / COM + сыграли свою роль в некоторых рациональных разработках .NET, атрибутов и метаданных.
В VB6 добавлена поддержка атрибутов / метаданных, которые COM + / MTS может прочитать и определить, как должен вести себя объект. Помните все настройки ваших классов, такие как «Требуется транзакция», «Требуется новая транзакция» и т. Д.? Они были фактически аспектно-ориентированными атрибутами. Где-то есть отличное интервью от Дон Бокса, и когда я снова его найду, я опубликую ссылку.