CodeGym/Kursus Java/Modul 3/Corak tingkah laku, bahagian 2

Corak tingkah laku, bahagian 2

Tahap, pelajaran
Tersedia

2.1 Negeri

Negeri ialah corak reka bentuk tingkah laku. Ia digunakan dalam kes apabila, semasa pelaksanaan program, objek mesti mengubah tingkah lakunya bergantung pada keadaannya.

negeri

Corak terdiri daripada 3 blok:

Konteks ialah kelas yang objeknya harus mengubah tingkah lakunya bergantung pada keadaan.

State ialah antara muka yang mesti dilaksanakan oleh setiap keadaan konkrit. Melalui antara muka ini, objek Konteks berinteraksi dengan keadaan dengan mewakilkan panggilan kaedah kepadanya. Antara muka harus mengandungi cara untuk maklum balas kepada objek yang tingkah lakunya akan diubah.

Untuk ini, acara digunakan (Penerbit corak - Pelanggan). Ini adalah perlu untuk menggantikan objek keadaan semasa pelaksanaan program apabila peristiwa berlaku. Mungkin terdapat kes di mana Konteks itu sendiri secara berkala meninjau objek negeri untuk peralihan.

ConcreteState1, ConcreteState2 - kelas keadaan konkrit. Harus mengandungi maklumat tentang dalam keadaan apa dan dalam keadaan apa objek boleh lulus dari keadaan semasa. Sebagai contoh, dari ConcreteState1, objek boleh pergi ke ConcreteState2 dan ConcreteState3, dan dari ConcreteState2 kembali ke ConcreteState1, dan seterusnya. Objek salah satu daripadanya mesti mengandungi Konteks apabila dicipta.

Sebagai contoh, anda sedang menulis permainan di mana watak boleh berlari, berenang dan terbang. Sekiranya watak anda masuk ke dalam air, maka wajar untuk mengehadkan tingkah lakunya di dalam air: kini dia tidak boleh menembak, tetapi dia masih mempunyai beberapa tindakan: berenang ke hadapan, kanan, kiri, dll.

Keadaan watak anda boleh diterangkan oleh objek Negeri, yang mempunyai kaedah yang boleh dipanggil dan yang akan melakukan sesuatu. Dan selepas watak anda masuk ke dalam air, anda hanya menukar rujukan kepada objek Negeri lain di dalamnya - dan ia mengubah keadaannya.

2.2 strategi

Strategi ialah corak reka bentuk tingkah laku untuk menentukan keluarga algoritma, merangkum setiap satu, dan menjadikannya boleh ditukar ganti. Ini membolehkan anda memilih algoritma dengan menentukan kelas yang sesuai.

Corak Strategi membolehkan anda menukar algoritma yang dipilih tanpa mengira objek klien yang menggunakannya.

Strategi

Corak Strategi membolehkan anda menggunakan peraturan atau algoritma perniagaan yang berbeza bergantung pada konteks. Ia digunakan dalam kes di mana algoritma berbeza mesti digunakan di tempat yang sama bergantung pada keadaan semasa sistem (atau persekitarannya).

Kekuatan:

  • enkapsulasi pelaksanaan pelbagai algoritma, sistem menjadi bebas daripada kemungkinan perubahan dalam peraturan perniagaan;
  • memanggil semua algoritma dalam satu cara standard;
  • tidak menggunakan suis dan/atau pernyataan bersyarat.

Corak ini agak serupa dengan corak Negeri, tetapi di sini penekanannya bukan pada keadaan, tetapi pada tingkah laku. Katakan watak dalam permainan anda boleh menukar senjata. Kemudian apabila menukar senjata, anda boleh menukar rujukan kepada objek yang menerangkan cara senjata ini berfungsi.

2.3 Kaedah Templat

Kaedah Templat

Kelas abstrak (kelas abstrak) - mentakrifkan operasi abstrak yang digantikan dalam waris untuk melaksanakan langkah-langkah algoritma; melaksanakan kaedah templat yang mentakrifkan rangka algoritma. Kaedah templat memanggil operasi yang diganti dan lain-lain yang ditakrifkan dalam kelas Abstrak.

Kelas konkrit (kelas konkrit) - melaksanakan operasi yang diganti dengan cara yang diperlukan untuk pelaksanaan. Kelas Concrete menganggap bahawa langkah invarian algoritma akan dilakukan dalam AbstractClass.

Corak ini sering digunakan apabila diperlukan:

  • Penggunaan tunggal bahagian invarian algoritma, meninggalkan bahagian yang berubah mengikut budi bicara waris.
  • Penyetempatan dan pengasingan kod biasa kepada beberapa kelas untuk mengelakkan pertindihan.
  • Benarkan pewaris melanjutkan kod hanya di tempat tertentu.

Ya, corak ini menerangkan penggunaan pasangan: kelas abstrak dan pelaksanaannya.

2.4 Rantaian Tanggungjawab

Rantaian tanggungjawab ialah corak reka bentuk tingkah laku yang direka untuk mengatur tahap tanggungjawab dalam sistem.

Rantaian tanggungjawab

Templat disyorkan untuk digunakan dalam keadaan di mana:

  • dalam sistem yang dibangunkan terdapat sekumpulan objek yang boleh memproses mesej jenis tertentu;
  • semua mesej mesti diproses oleh sekurang-kurangnya satu objek sistem;
  • mesej dalam sistem diproses mengikut skema "proses sendiri atau hantar ke yang lain", iaitu, sesetengah mesej diproses pada tahap di mana ia diterima, manakala yang lain dimajukan ke objek pada tahap lain.

2.5 Kenangan

Keeper (Memento) ialah corak reka bentuk tingkah laku yang membolehkan anda membetulkan dan menyimpan keadaan dalaman objek tanpa melanggar enkapsulasi supaya ia boleh dipulihkan kepada keadaan ini kemudian.

Penjaga (Memento)

Corak Guardian digunakan apabila:

  • adalah perlu untuk menyimpan syot kilat keadaan objek (atau sebahagian daripadanya) untuk pemulihan seterusnya;
  • Antara muka langsung untuk mendapatkan keadaan objek mendedahkan butiran pelaksanaan dan memecahkan enkapsulasi objek.
1
Tugasan
Modul 3,  tahappelajaran
Terkunci
USB MP3 Player
task4118
1
Tugasan
Modul 3,  tahappelajaran
Terkunci
Strategic shopping
task4119
1
Tugasan
Modul 3,  tahappelajaran
Terkunci
Game of Life
task4120
1
Tugasan
Modul 3,  tahappelajaran
Terkunci
Technical Support
task4121
1
Tugasan
Modul 3,  tahappelajaran
Terkunci
Memento mori
task4122
Komen
  • Popular
  • Baru
  • Tua
Anda mesti log masuk untuk meninggalkan ulasan
Halaman ini tidak mempunyai sebarang ulasan lagi