cari
Rumahmasalah biasa策略模式是什么?

策略模式是什么?

Jun 28, 2020 pm 04:50 PM
corak strategi

策略模式作为一种软件设计模式,是指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法,该模式解决了在有多种算法相似的情况下,使用“if...else”所带来的复杂和难以维护。

策略模式是什么?

介绍

意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。

主要解决:在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护。

何时使用:一个系统有许多许多类,而区分它们的只是他们直接的行为。

如何解决:将这些算法封装成一个一个的类,任意地替换。

关键代码:实现同一个接口。

应用实例: 1、诸葛亮的锦囊妙计,每一个锦囊就是一个策略。 2、旅行的出游方式,选择骑自行车、坐汽车,每一种旅行方式都是一个策略。 3、JAVA AWT 中的 LayoutManager。

优点: 1、算法可以自由切换。 2、避免使用多重条件判断。 3、扩展性良好。

缺点: 1、策略类会增多。 2、所有策略类都需要对外暴露。

使用场景: 1、如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为。 2、一个系统需要动态地在几种算法中选择一种。 3、如果一个对象有很多的行为,如果不用恰当的模式,这些行为就只好使用多重的条件选择语句来实现。

注意事项:如果一个系统的策略多于四个,就需要考虑使用混合模式,解决策略类膨胀的问题。

实现

我们将创建一个定义活动的 Strategy 接口和实现了 Strategy 接口的实体策略类。Context 是一个使用了某种策略的类。

StrategyPatternDemo,我们的演示类使用 Context 和策略对象来演示 Context 在它所配置或使用的策略改变时的行为变化。

Snipaste_2020-06-28_16-48-08.png

推荐教程:《PHP

Atas ialah kandungan terperinci 策略模式是什么?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
DeepSeek Web Version Masuk RasmiDeepSeek Web Version Masuk RasmiMar 12, 2025 pm 01:42 PM

Deepseek Kuda AI Darks Domestik telah meningkat dengan kuat, mengejutkan industri AI global! Syarikat kecerdasan buatan Cina ini, yang hanya ditubuhkan selama setahun setengah, telah memenangi pujian yang luas dari pengguna global untuk mockups sumber bebas dan terbuka, DeepSeek-V3 dan DeepSeek-R1. DeepSeek-R1 kini dilancarkan sepenuhnya, dengan prestasi yang setanding dengan versi rasmi OpenAIO1! Anda boleh mengalami fungsi yang kuat di laman web, aplikasinya dan antara muka API. Kaedah Muat turun: Menyokong sistem iOS dan Android, pengguna boleh memuat turunnya melalui App Store; Pintu Rasmi Versi Web DeepSeek: HT

Cara menyelesaikan masalah pelayan yang sibuk untuk DeepSeekCara menyelesaikan masalah pelayan yang sibuk untuk DeepSeekMar 12, 2025 pm 01:39 PM

DeepSeek: Bagaimana menangani AI yang popular yang sesak dengan pelayan? Sebagai AI panas pada tahun 2025, DeepSeek adalah sumber percuma dan terbuka dan mempunyai prestasi yang setanding dengan versi rasmi OpenAIO1, yang menunjukkan popularitinya. Walau bagaimanapun, kesesuaian yang tinggi juga membawa masalah kesibukan pelayan. Artikel ini akan menganalisis sebab -sebab dan menyediakan strategi mengatasi. DeepSeek Web Version Masuk: https://www.deepseek.com/deepseek Server Sibuk Sebab: Akses serentak yang tinggi: Ciri -ciri percuma dan berkuasa DeepSeek menarik sejumlah besar pengguna untuk digunakan pada masa yang sama, mengakibatkan beban pelayan yang berlebihan. Serangan Siber: Dilaporkan bahawa DeepSeek mempunyai kesan terhadap industri kewangan AS.

Pintu Laman Web Rasmi DeepSeek yang mendalamPintu Laman Web Rasmi DeepSeek yang mendalamMar 12, 2025 pm 01:33 PM

Pada awal tahun 2025, domestik AI "Deepseek" membuat debut yang menakjubkan! Model AI sumber percuma dan terbuka ini mempunyai prestasi yang setanding dengan versi rasmi OpenAI's O1, dan telah dilancarkan sepenuhnya di sisi web, API dan API, menyokong penggunaan multi-terminal iOS, Android dan versi web. Carian mendalam mengenai laman web rasmi dan panduan penggunaan DeepSeek: Alamat Laman Web Rasmi: https://www.deepseek.com/using Langkah-langkah untuk versi web: Klik pautan di atas untuk memasukkan laman web rasmi DeepSeek. Klik butang "Mula Perbualan" di laman utama. Untuk kegunaan pertama, anda perlu log masuk dengan kod pengesahan telefon bimbit anda. Selepas log masuk, anda boleh memasukkan antara muka dialog. DeepSeek berkuasa, boleh menulis kod, membaca fail, dan membuat kod

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa