Pengenalan kepada corak reka bentuk


Corak reka bentuk mewakili amalan terbaik dan biasanya digunakan oleh pembangun perisian berorientasikan objek yang berpengalaman. Corak reka bentuk ialah penyelesaian kepada masalah biasa yang dihadapi oleh pembangun perisian semasa proses pembangunan perisian. Penyelesaian ini adalah hasil percubaan dan kesilapan oleh banyak pembangun perisian dalam jangka masa yang panjang.

Corak reka bentuk ialah satu set pengalaman reka bentuk kod terperingkat dan dikatalogkan yang digunakan berulang kali, diketahui kebanyakan orang. Tujuan menggunakan corak reka bentuk adalah untuk menggunakan semula kod, menjadikan kod lebih mudah difahami oleh orang lain dan memastikan kebolehpercayaan kod. Tidak dinafikan bahawa corak reka bentuk adalah menang-menang untuk diri kita sendiri, orang lain, dan sistem Corak reka bentuk menjadikan penyusunan kod benar-benar kejuruteraan adalah asas kejuruteraan perisian, sama seperti batu bata dan batu bangunan. Penggunaan corak reka bentuk yang munasabah dalam projek dapat menyelesaikan banyak masalah dengan sempurna corak boleh digunakan secara meluas.

Apakah itu GOF (Gang of Four)?

Pada tahun 1994, Erich Gamma, Richard Helm, Ralph Johnson dan John Vlissides mengarang bersama sebuah buku yang dipanggil Corak Reka Bentuk - Elemen Perisian Berorientasikan Objek Boleh Digunakan Semula (terjemahan Cina: Corak Reka Bentuk - Berorientasikan Objek Boleh Digunakan Semula Elemen Perisian) buku, yang pertama kali menyebut konsep corak reka bentuk dalam pembangunan perisian.

Empat pengarang secara kolektif dikenali sebagai GOF (Gang of Four) . Corak reka bentuk yang mereka cadangkan adalah berdasarkan prinsip reka bentuk berorientasikan objek berikut.

  • Program ke antara muka dan bukannya pelaksanaan.

  • Lebih suka gubahan objek daripada warisan.

Kegunaan corak reka bentuk

Dua kegunaan utama corak reka bentuk dalam pembangunan perisian.

Platform biasa untuk pembangun

Corak reka bentuk menyediakan sistem terminologi standard yang khusus untuk senario tertentu. Sebagai contoh, corak reka bentuk tunggal bermaksud menggunakan objek tunggal supaya semua pembangun yang biasa dengan corak reka bentuk tunggal boleh menggunakan objek tunggal dan boleh memberitahu satu sama lain bahawa atur cara menggunakan corak tunggal.

Amalan Terbaik

Corak reka bentuk telah dibangunkan dalam jangka masa yang panjang dan ia menyediakan penyelesaian terbaik kepada masalah biasa yang dihadapi semasa pembangunan perisian. Mempelajari corak ini membantu pembangun yang kurang berpengalaman mempelajari reka bentuk perisian dengan cara yang cepat dan mudah.

Jenis-jenis corak reka bentuk

Mengikut buku rujukan mengenai corak reka bentukCorak Reka Bentuk - Elemen Perisian Berorientasikan Objek Boleh Digunakan Semula (terjemahan Cina: Corak Reka Bentuk - Elemen Perisian Berorientasikan Objek Boleh Digunakan Semula ) yang disebut dalam , terdapat sebanyak 23 corak rekaan. Corak ini boleh dibahagikan kepada tiga kategori utama: Corak Ciptaan, Corak Struktur dan Corak Tingkah Laku. Sudah tentu, kami juga akan membincangkan satu lagi kategori corak reka bentuk: corak reka bentuk J2EE.

Nombor SiriMod & Perihalantermasuk
1Corak Kreatif
Corak reka bentuk ini menyediakan cara untuk menyembunyikan logik penciptaan semasa mencipta objek, dan bukannya membuat instantiat objek secara langsung menggunakan operator baharu. Ini membolehkan program menjadi lebih fleksibel dalam menentukan objek yang perlu dibuat untuk contoh tertentu.
  • Corak Kilang

  • Corak Kilang Abstrak

  • Corak Singleton

  • Corak Pembina

  • Corak Prototaip

2Corak Struktur
Corak reka bentuk ini memfokuskan pada gabungan kelas dan objek. Konsep pewarisan digunakan untuk mengarang antara muka dan mentakrifkan cara objek yang digubah memperoleh kefungsian baharu.
  • Corak Penyesuai

  • Corak Jambatan

  • Corak Penapis (Penapis, Corak Kriteria )

  • Corak Komposit (Corak Komposit)

  • Corak Penghias (Corak Penghias)

  • Fasad Corak

  • Corak Flyweight

  • Corak Proksi)

3Corak Tingkah Laku
Corak reka bentuk ini memberi perhatian khusus kepada hubungan antara komunikasi objek.
  • Corak Rantaian Tanggungjawab

  • Corak Perintah

  • Corak Jurubahasa

  • Corak Lelaran

  • Corak Pengantara

  • Corak Kenangan

  • Corak Pemerhati

  • Corak Status (Corak Keadaan)

  • Corak Objek Null (Corak Objek Null)

  • Corak Strategi (Corak Strategi)

  • Corak Templat

  • Corak Pelawat

4Corak J2EE
Corak reka bentuk ini memfokuskan secara khusus pada lapisan pembentangan. Mod ini diperakui oleh Sun Java Center.
  • Corak MVC

  • Corak Perwakilan Perniagaan

  • Corak Entiti Komposit

  • Corak Objek Akses Data

  • Corak Pengawal Hadapan ( Corak Pengawal Hadapan)

  • Corak Penapis Memintas

  • Corak Pencari Perkhidmatan

  • Corak Objek Pemindahan

Yang berikut menggunakan gambar untuk menerangkan hubungan keseluruhan antara corak reka bentuk:

the-relationship-between-design-patterns.jpg

Enam prinsip corak reka bentuk

1 Prinsip Tutup

Prinsip Tutup Terbuka bermaksud: Terbuka untuk sambungan, ditutup untuk pengubahsuaian. Apabila program perlu dikembangkan, kod asal tidak boleh diubah suai untuk mencapai kesan hot-swappable. Ringkasnya, ia adalah untuk menjadikan program berskala dan mudah diselenggara dan dinaik taraf. Untuk mencapai kesan ini, kita perlu menggunakan antara muka dan kelas abstrak, yang akan kita sebutkan dalam reka bentuk khusus kemudian.

2. Prinsip Penggantian Liskov

Prinsip Penggantian Liskov ialah salah satu prinsip asas reka bentuk berorientasikan objek. Prinsip penggantian Liskov mengatakan bahawa di mana sahaja kelas asas boleh muncul, subkelas pasti boleh muncul. LSP ialah asas penggunaan semula warisan Hanya apabila kelas terbitan boleh menggantikan kelas asas dan fungsi unit perisian tidak terjejas, kelas asas boleh benar-benar digunakan semula, dan kelas terbitan juga boleh menambah kelas baharu berdasarkan asas. kelas asas. Prinsip penggantian Liskov adalah tambahan kepada prinsip pembukaan dan penutup. Langkah utama untuk merealisasikan prinsip pembukaan dan penutup ialah pengabstrakan, dan perhubungan pewarisan antara kelas asas dan subkelas ialah pelaksanaan khusus pengabstrakan, jadi prinsip penggantian Liskov ialah spesifikasi untuk langkah-langkah khusus untuk mencapai pengabstrakan.

3. Prinsip Inversi Ketergantungan

Prinsip ini adalah asas kepada prinsip pembukaan dan penutup Kandungan khusus: untuk pengaturcaraan antara muka, bergantung pada abstrak dan bukannya Bergantung spesifiknya.

4. Prinsip Pengasingan Antara Muka

Prinsip ini bermaksud: menggunakan berbilang antara muka terpencil adalah lebih baik daripada menggunakan satu antara muka. Ia juga mempunyai makna lain: mengurangkan gandingan antara kelas. Ia boleh dilihat bahawa corak reka bentuk sebenarnya adalah idea reka bentuk perisian yang bermula daripada seni bina perisian berskala besar dan mudah untuk dinaik taraf dan diselenggara. Ia menekankan mengurangkan kebergantungan dan mengurangkan gandingan.

5. Undang-undang Demeter, juga dikenali sebagai Prinsip Demeter

Prinsip Yang Paling Kurang Diketahui bermaksud: entiti harus berinteraksi dengan entiti lain sesedikit mungkin Interaksi berlaku di antara mereka , menjadikan modul berfungsi sistem agak bebas.

6. Prinsip Penggunaan Semula Komposit

Prinsip penggunaan semula komposit bermaksud: cuba gunakan sintesis/agregasi dan bukannya warisan.