Rumah  >  Artikel  >  Java  >  Cara menggunakan corak reka bentuk keadaan Java untuk melaksanakan peralihan keadaan objek

Cara menggunakan corak reka bentuk keadaan Java untuk melaksanakan peralihan keadaan objek

WBOY
WBOYke hadapan
2023-05-13 11:52:15924semak imbas

Pengenalan

Java State Pattern ialah corak reka bentuk berorientasikan objek yang merangkum keadaan objek menjadi objek keadaan bebas dan memisahkan kelakuan objek daripada objek keadaan gelagat apabila keadaan dalamannya berubah. Corak ini merangkum gelagat objek dalam objek keadaan yang berbeza dan bukannya meletakkan semua gelagat dalam kelas.

Corak Keadaan Java Industri umum terdiri daripada tiga peranan berikut:

  • Antara Muka Keadaan: Mentakrifkan satu set kaedah yang berkaitan dengan objek konteks, yang akan dilaksanakan oleh objek tertentu dalam keadaan berbeza .

  • Keadaan Konkrit: Melaksanakan. antara muka keadaan, dan objek keadaan tertentu ialah pelaksanaan keadaan yang berbeza.

  • Konteks (Konteks) : Objek dengan berbilang keadaan Objek konteks boleh menukar keadaan pada masa jalan, dengan itu mengubahnya tingkah laku.

Perlu diingatkan bahawa terdapat banyak cara untuk melaksanakan corak keadaan Java, Contohnya, gunakan antara muka dan kelas abstrak untuk melaksanakan keadaan, gunakan penghitungan untuk melaksanakan keadaan, dsb. Kaedah pelaksanaan khusus bergantung pada keperluan dan senario khusus.

Pelaksanaan

Andaikan kita mempunyai permainan mudah, permainan Protagonis dalam boleh melakukan operasi yang berbeza dalam keadaan yang berbeza untuk melaksanakan reka bentuk permainan ini. >

Dalam contoh di atas, mula-mula kami mentakrifkan antara muka State, dan kemudian kami mentakrifkan tiga kelas keadaan tertentu, IdleState , MoveState dan AttackState masing-masing mewakili keadaan terbiar protagonis, keadaan bergerak dan keadaan serangan Semua keadaan ini dilaksanakan antara muka Negeri Seterusnya kami mentakrifkan konteks, yang mengandungi objek Negeri yang mewakili keadaan semasa Dalam kelas Konteks , kami mentakrifkan kaedah setState untuk menukar keadaan, dan kaedah bergerak dan menyerang untuk melaksanakan operasi yang sepadan 🎜>Ringkasan

Kelebihan

Mod keadaan memudahkan untuk menambah keadaan, hanya menambah kelas keadaan baharu

Cara menggunakan corak reka bentuk keadaan Java untuk melaksanakan peralihan keadaan objek

Mod keadaan menjadikan keadaan objek dengan merangkumkan logik peralihan keadaan dalam kelas keadaan Perubahan adalah lebih spesifik dan jelas.

Mod keadaan menjadikan penukaran keadaan lebih mudah. hanya panggil kaedah peralihan keadaan objek.

  • Kelemahan

  • Mod keadaan akan meningkatkan bilangan kelas dalam sistem dan meningkatkan kerumitan daripada kod.

  • Mod keadaan boleh menyebabkan penukaran keadaan Proses menjadi rumit.

Senario aplikasi

  • Apabila gelagat objek bergantung pada keadaannya, dan keadaan itu boleh berubah semasa masa jalan Corak keadaan ialah pilihan yang baik.

  • Corak keadaan sangat berguna apabila objek perlu melakukan operasi yang berbeza berdasarkan keadaannya.

Apabila anda perlu menambah gelagat baharu secara dinamik pada objek, corak keadaan ialah pilihan yang baik.

  • Beberapa senario aplikasi biasa termasuk: status pesanan; Status log masuk pengguna, dsb.

Atas ialah kandungan terperinci Cara menggunakan corak reka bentuk keadaan Java untuk melaksanakan peralihan keadaan objek. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam