2012-06-25 18 views
13

natknąłem tej linii w książce na WCF:Jaka jest różnica między językiem zorientowanym na komponenty i obiektowym?

... i języki używane do pisania komponentów COM (takich jak C++ i Visual Basic) były w najlepszym razie obiektowego ale nie składnikiem zorientowanych. ..

Jaka jest różnica między tymi dwoma?

+1

Dobre pytanie. Chciałbym również wysłać do autora e-maila z prośbą o odpowiedź na to pytanie. –

+0

Rzadko łączę [Wikipedia] (http://en.wikipedia.org/wiki/Component-based_software_engineering#Differences_from_object-oriented_programming), ale kiedy robię ... A może potrzebujesz bardziej szczegółowej odpowiedzi?) – raina77ow

+2

Mówiąc o COM, mógł oznaczać, że nie mieli bezpośredniej/wbudowanej obsługi pracy z/tworzenia obiektów COM. Patrząc na to nieco inaczej, szanse są całkiem dobre, że wcale nie miał na myśli technicznego, i po prostu szukał sposobu na odróżnienie "lśniącego nowego" od "nudnego starego", więc wymyślił rozsądnie brzmiące zwroty marketingowe. –

Odpowiedz

7

Moja opinia/zrozumienie jest prawdopodobnie błędne i zamierzam strzelać w płomienie, by to napisać.

Obiekt zorientowany na "ja" oznacza sposób rozpoznawania kluczowych modeli danych istotnych dla kontekstu problemu i odpowiednich metod, które manipulują stanem tych danych, również w kontekście problemu. Jest to wzorzec organizowania danych. Kolejny wzór organizuje się po prostu na podstawie funkcji podzielonych na możliwe do zarządzania poziomy - proceduralne.

Układ zorientowany na komponenty nie dba o to, w jaki sposób organizuje się różne modele danych, ale o sposób ich wiązania. Tak się ze sobą rozmawiają. Może to być wiele sposobów COM/RPC, Web Services (REST/SOAP) itp. To jest luźne sprzężenie lub ścisłe sprzężenie.

a autor jest po prostu staramy się powiedzieć, że możliwości COM zostały zbudowane z językiem, który nie udostępniają COM wbudowany do niego :)

Moje zrozumienie jest, że oświadczenie jest błędne jak wybór tie- składników, jest abstrakcją na wyższym poziomie niż zapewnia to język taki jak C/C++. COM zapewnia tylko jeden ze sposobów łączenia komponentów.

0

Oto moje zdanie,

Dziedziczenie kontra Interfejsy wydaje się być temat, który jest wymieniony dużo przy omawianiu 2.

Myślę też, że projekt zakłada, że ​​komponent masz do czynienia z czarnych skrzynek

Wygląda również na to, że projektowanie komponentów obejmuje systemy wykraczające poza pojedynczą przestrzeń pamięci. Wzywa więc do usług internetowych lub innych usług zdalnych.

Nie powiedziałbym, że są to konkurencyjne paradygmaty, ale różne paradygmaty.

Powiązane problemy