2010-09-30 10 views
9

Technologia COM wydaje się nieco przestarzała, ale wciąż używana. Ale jakie podejście jest teraz zalecane do wdrożenia tego samego rodzaju interoperacyjności podczas budowania aplikacji .NET, w szczególności w WPF?Co to jest aktualny analog technologii COM?

tj. jaki jest nowoczesny zamiennik obiektu COM?

+0

COM zapewniał wiele różnych opcji interoperacyjności ... których, konkretnie, szukasz? –

+0

@Justin Niessner W tym przypadku nic konkretnego. Jest to ogólne pytanie, tylko po to, aby lepiej zrozumieć trend w pojęciach – rem

+0

Powiedziałbym, że aktualny analog w świecie Windowsa do COM to nadal COM. Jest on daleki od przestarzałego i nadal najważniejszego modelu systemu Windows, pakietu Office i innego oprogramowania umożliwiającego najwyższą możliwą interoperacyjność. Oczywiście istnieją różne podejścia, takie jak usługi sieci Web, architektury SOA, WCF i podobne, ale te zazwyczaj odnoszą się do nieco innych rzeczy. Najbliższym zamiennikiem COM jest sam .NET, jak stwierdził AakashM. –

Odpowiedz

8

.NET był bardzo pomyślany jako zamiennik dla COM. Projekt miał wiele nazw, podczas gdy był opracowywany, ale rozpoczął życie jako "COM +". Wpływ ten jest nadal widoczny w wielu miejscach. Wiele podstawowych plików kodu źródłowego dla CLR zaczyna się od nazwy "com", nawet jeśli CLR w ogóle (prawie) nie korzysta z COM. Kod wyjątku dla systemu Windows dla zarządzanego wyjątku to 0xE0434F4D. Ostatnie 3 bajty kodu to ASCII dla "COM".

Twierdzenie, że WCF było zamiennikiem, nie jest dokładne. Zastąpił .NET Remoting. COM ma bardzo szeroki zakres, jest to ogólne narzędzie współdziałania, podobnie jak CLR umożliwia współpracę wielu języków. Jedną z jego funkcji było wspieranie współdziałania różnych procesów i maszyn, być może źródłem oświadczenia. Ale to tylko część tego.

Istnieje wciąż wiele aplikacji COM, które nie zostały zastąpione przez .NET. Najlepszym przykładem jest powłoka Windows, Explorer.exe. Całkiem trudno zrobić coś tak prostego, jak utworzenie rozszerzenia powłoki menu kontekstowego w języku C#. I aż do .NET 4.0 zdecydowanie odradzam.

5

Jakie podejście jest obecnie zalecana za realizację tego samego rodzaju współdziałania podczas budowania aplikacji .NET , konkretnie w WPF?

Nazywa WCF

WCF jest zaprojektowany zgodnie z zasadami architektury zorientowanej na usługi wspierających przetwarzania rozproszonego, gdzie usługi są spożywane przez konsumentów.

+4

Czy WCF nie byłby bieżącym analogiem DCOM? – JLWarlow

+0

Myślę, że to dobra uwaga. DCOM był oczywiście rozszerzeniem COM. –

+0

Warto pamiętać o całym pytaniu, które brzmi: "jakie podejście zaleca się teraz przy wdrażaniu tego samego rodzaju interoperacyjności podczas budowania aplikacji .NET". –

2

Spójrz na pierwszy akapit w this wikipedia article.

WCF jest nowoczesnym zamiennikiem COM.

+1

. .NET zdalna i WCF to różne technologie. Rzeczywiście, WCF zastępuje .NET. –

+0

@Joe, prawda, tylko odwoływałam się do artykułu, ponieważ ma ładną oś czasu w pierwszym akapicie. – Carvellis