Pertanyaan Apakah. NET pengganti untuk COM?


Saya ingin tahu tujuan .NET dan COM,

  • Apakah .NET memiliki tujuan yang sama dengan COM? Karena tujuan utama dari COM adalah untuk memungkinkan interoperabilitas bahasa sehingga dari .NET?
  • Jika demikian Mengapa banyak perusahaan masih menggunakan COM untuk proyek pengembangan mereka?
  • Apakah layak belajar COM ketika kita dapat menggunakan .NET?

5
2017-08-14 13:13


asal


Jawaban:


  1. Salah satu alasan untuk COM adalah jika Anda mengembangkan pustaka C ++ di Borland C ++ builder, Anda tidak dapat menggunakannya di VB6. Tetapi Anda tidak bisa menggunakannya di VC6 (COM jauh lebih tua dari produk ini btw). Jadi COM adalah protokol seperti C untuk interopabilitas antara aplikasi dan pustaka. .NET memungkinkan interopabilitas antara aplikasi yang dikelola. Jika Anda ingin interop dengan C ++, gunakan C ++ / CLI. Tetapi apa yang Anda lakukan jika Anda memiliki aplikasi COBOL warisan yang ingin menggunakan komponen .NET? Mengekspos komponen itu sebagai COM akan menjadi salah satu cara untuk mendekatinya. Mengekspos C seperti API adalah cara lain.

  2. Tidak mengherankan karena COM telah ada sejak tahun 80-an (saya pikir) banyak nilai bisnis telah dibangun pada teknologi COM. Itu tidak masuk akal bisnis dan terlalu mahal dan berisiko untuk menulis ulang aplikasi yang bekerja. NET hanya untuk bersenang-senang. Jadi perusahaan yang harus mempertahankan aplikasi warisan secara alami memiliki banyak alat dan aplikasi berbasis COM.

  3. Itu semua tergantung pada kasus bisnis Anda. Bisakah Anda lolos dengan. NET platform hanya saya kira Anda tidak perlu tahu COM (meskipun COM digunakan oleh platform NET. Dan kadang-kadang kesalahan bocor melalui). Jika Anda menggunakan COM libraries yang diekspos oleh sistem operasi atau pustaka lain, itu masuk akal jika mengetahui beberapa aturan COM dasar.

PS. Saya suka COM. Saya tidak suka bagian pendaftaran, saya tidak menikmati DCOM dan saya pikir apartemen COM pada akhirnya telah membingungkan lebih dari itu membantu pengembang (pada awalnya dikembangkan untuk membantu pengembang menghindari kondisi balapan dan isu-isu terkait). Tetapi inti COM cukup baik. Beberapa perkelahian telah berakhir "Apakah COM OO?" tapi itu intinya kenapa kita menggunakan OO? IMO memberi enkapsulasi. Jadi pertanyaannya adalah: "Apakah COM memberikan enkapsulasi yang baik?". Jawabannya adalah ya (IMO).

PS. Terakhir saya memeriksa Firefox menggunakan sesuatu yang disebut XPCOM yang tampak sangat mirip dengan COM untuk saya.


6
2017-08-14 13:31



Anda mungkin merasa video Channel9 ini menarik. Juval Lowy, seorang ahli Microsoft COM / WCF mengatakan mungkin masuk akal untuk dapat setiap kelas layanan WCF, serupa dengan DCOM

http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-Every-Class-a-WCF-Service-with-Juval-Lowy/

Tautan itu menyatakan bahwa kompromi dibuat dalam hal kinerja untuk kemudahan penggunaan dan kemudahan pengembangan dari waktu ke waktu. Ketika tren ini berlanjut, kebutuhan untuk pemrograman COM / DCOM tingkat rendah berkurang. Tentu saja ini tidak mencakup setiap skenario, tetapi tidak mencakup banyak kebutuhan bisnis yang tidak penting.

Haruskah Anda belajar COM? Seperti berdiri hari ini WCF (dan bagian lain dari. NET) didasarkan pada COM. Memiliki pemahaman tentang COM akan membantu memecahkan masalah-masalah tingkat rendah yang muncul, tetapi kecuali itu fokus karir utama atau sekunder Anda, saya tidak akan menghabiskan banyak waktu untuk itu.


1
2017-08-14 13:46