Perbezaan antara perpustakaan dan kerangka
- 1380
- 429
- Stuart Kovacek
Memilih alat atau teknologi yang tepat untuk masalah yang diberikan adalah salah satu aspek yang paling penting dalam pengaturcaraan. Alat yang tepat adalah kunci kejayaan projek. Di sinilah kebanyakan pengaturcara gagal kerana mereka biasanya berurusan dengan banyak alat. Ini berkaitan dengan soalan utama, "Sekiranya anda membina aplikasi anda dengan perpustakaan atau kerangka kerja?"Ini adalah salah satu topik perbincangan yang paling boleh dibahaskan dalam komuniti pengaturcara dan sering menjadi sumber kekeliruan. Pasukan kecil dengan segelintir pemaju, kebanyakan pemula mungkin lebih baik bekerja dengan rangka kerja manakala perpustakaan membina blok yang boleh digunakan di mana sahaja dan membolehkan fleksibiliti dan kawalan yang lebih besar.
Perbezaan utama antara perpustakaan dan rangka kerja adalah "penyongsangan kawalan" (IOC). Seseorang boleh mengatakan rangka kerja adalah koleksi perpustakaan tetapi keseluruhan idea itu berbeza.
Apa itu Perpustakaan?
Perpustakaan adalah koleksi fungsi yang boleh diguna semula yang digunakan oleh program komputer yang bermaksud sumber yang boleh anda gunakan semula yang mungkin termasuk kelas, subrutin, kod pra-kompilasi, templat mesej, dll. Kebanyakan bahasa pengaturcaraan mempunyai perpustakaan standard mereka sendiri tetapi pengaturcara juga boleh membuat perpustakaan tersuai mereka sendiri. Ia hanya sekeping kod yang ditulis oleh pemaju lain yang boleh digunakan semula di mana sahaja. Perpustakaan boleh dimasukkan secara lancar ke dalam projek sedia ada untuk menambah fungsi yang anda dapat mengakses selanjutnya menggunakan API. Sedikit pengetahuan diperlukan untuk memulakan.
Apa itu kerangka?
Rangka Kerja adalah sekeping kod yang menentukan bagaimana projek itu perlu disusun dan dijalankan. Ia hanya memberi mandat seni bina projek anda seperti menentukan parameter reka bentuk aplikasi supaya anda boleh memberi tumpuan kepada spesifik projek, dengan itu menekankan semula reka bentuk reka bentuk dan bukannya kebolehgunaan semula kod. Tidak seperti perpustakaan, kawalan terbalik dalam kes kerangka dan kod tidak pernah memanggil rangka kerja, sebaliknya, rangka kerja itu memanggil anda. Tidak seperti perpustakaan, rangka kerja menekankan struktur dan piawaian.
Perbezaan antara perpustakaan dan kerangka
-
Makna
Dalam pengaturcaraan, perpustakaan adalah koleksi fungsi yang boleh diguna semula - yang bermaksud sumber yang boleh anda gunakan semula - digunakan oleh program komputer. Sumber -sumber, kadang -kadang dipanggil sebagai modul, biasanya disimpan dalam format objek. Kebanyakan bahasa pengaturcaraan mempunyai perpustakaan standard mereka sendiri tetapi pengaturcara juga boleh membuat perpustakaan tersuai mereka sendiri. Secara ringkas, perpustakaan adalah satu set fungsi yang boleh anda panggil, sedangkan rangka kerja adalah sekeping kod yang menentukan seni bina projek anda. Dengan cara, kerangka kerja dan bahasa pengaturcaraan saling berkaitan yang bersama -sama membantu dalam program komputer.
-
Penyongsangan kawalan
"Penyongsangan Kawalan" adalah perbezaan utama yang memisahkan rangka kerja dari perpustakaan. Perpustakaan adalah satu set fungsi dan rutin yang digunakan oleh program lain dan anda berada dalam kawalan penuh jika anda memanggil kaedah dari perpustakaan. Walau bagaimanapun, kawalan terbalik sekiranya rangka kerja. Ia menentukan struktur projek anda dan kod tidak pernah menyeru ke dalam kerangka, sebaliknya, ia memanggil anda. Ringkasnya, anda hanya boleh memikirkan perpustakaan sebagai fungsi aplikasi dan rangka kerja sebagai kerangka aplikasi di mana aplikasi itu mentakrifkan ciri -cirinya sendiri.
-
Fungsi
Perpustakaan adalah satu set fungsi yang boleh digunakan di mana -mana yang bermaksud ia hanya sekeping kod yang ditulis oleh pemaju lain yang boleh digunakan semula. Mereka dimasukkan dengan lancar ke dalam projek sedia ada untuk menambah fungsi yang boleh anda akses menggunakan API. Mereka kebanyakannya digunakan untuk modul yang sering digunakan kerana anda tidak perlu menghubungkannya dengan jelas ke setiap program yang menggunakannya. Mereka penting dalam proses menghubungkan dan mengikat program. Rangka kerja, sebaliknya, menyediakan cara standard untuk membina dan menggunakan aplikasi dan boleh digunakan kebanyakannya ketika memulakan projek baru dan bukannya diintegrasikan ke dalam yang ada.
-
Contoh
Untuk lebih memahami perbezaan antara perpustakaan dan kerangka, mari kita lihat jQuery dan angularjs. JQuery adalah perpustakaan JavaScript silang platform yang memudahkan manipulasi DOM bersama-sama dengan banyak perkara rumit lain seperti manipulasi CSS, kaedah acara HTML, panggilan ajax dll. Tujuan jQuery adalah untuk memudahkan penggunaan javascript di laman web anda. Sebaliknya, AngularJS adalah rangka kerja struktur berdasarkan seni bina MVC yang digunakan untuk membuat aplikasi web dinamik. Ia sepenuhnya berdasarkan HTML dan JavaScript dan tidak seperti jQuery, ia tidak dapat diintegrasikan ke dalam projek yang sedia ada kerana sebagai rangka kerja, ia menentukan bagaimana kod anda disusun dan dijalankan.
Perpustakaan vs. Rangka Kerja: Carta Perbandingan
Ringkasan Perpustakaan vs. Rangka Kerja
Apabila ada kekeliruan tentang memutuskan sama ada anda harus menggunakan perpustakaan atau rangka kerja untuk membina aplikasi, semuanya turun untuk mengawal. Perpustakaan adalah satu set fungsi yang boleh anda hubungi dan setiap panggilan melakukan tugas dan mengembalikan kawalan kepada anda. Mereka boleh dimasukkan secara lancar ke dalam projek yang ada dan sedikit pengetahuan diperlukan untuk memulakan anda. Rangka kerja, sebaliknya, menentukan struktur keseluruhan projek anda dan tidak seperti perpustakaan, rangka kerja memanggil anda dan kod tidak pernah memanggil rangka kerja. Perbezaan utama tentu saja penyongsangan kawalan. Secara ringkas, perpustakaan lebih fleksibel dengan tahap kawalan yang lebih tinggi, sedangkan kerangka menguatkuasakan struktur dan piawaian.