ホームページ >バックエンド開発 >PHPチュートリアル >PHP デザイン パターン コマンド チェーン パターン_PHP チュートリアル

PHP デザイン パターン コマンド チェーン パターン_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:54:201022ブラウズ

phpデザインパターンコマンドチェーンパターン

コマンドチェーンモード:

コマンド チェーン パターンは、疎結合トピックに基づいており、メッセージ、コマンド、リクエストを送信するか、一連のハンドラーを通じて任意のコンテンツを送信します。各ハンドラーは、リクエストを処理できるかどうかを独自に判断します。可能な場合、リクエストは処理され、プロセスは停止します。他のハンドラーに影響を与えることなく、システムにハンドラーを追加または削除できます。

1.インターフェイスバリデータ

2.{

3. /**

4. * メソッドには任意のパラメーターを含めることができます。

5. * @param混合

6. * @return boolean

7.*/

8. パブリック関数 isValid($value);

9.}

10.

11./**

12. * 具体的なコマンド

13.*/

14.class MoreThanZeroValidator は Validator を実装します

15.{

16. パブリック関数 isValid($value)

17.

18. $value > 0;

19.

20.}

21.

22./**

23. * 具体的なコマンド

24.*/

25.class EvenValidator は Validator を実装します

26.{

27. パブリック関数 isValid($value)

28.

29. $value % 2 == 0;

を返します。

30.

31.}

32.

33./**

34. * 呼び出し者。実装では複数のファイルを保存できます

35. * 必要に応じてバリデーター

36.*/

37.class ArrayProcessor

38.{

39. $_ルールを保護しました;

40.

41. パブリック関数 __construct (バリデータ $rule)

42.

43. $this->_rule = $rule;

44.

45.

46. パブリック関数処理(配列$numbers)

47.

48. foreach ($n としての $numbers) {

49. if ($this->_rule->IsValid($n)) {

50. $n、"n";

をエコーし​​ます。

51.

52.

53.

54.}

55.

56.// クライアントコード

57.$processor = 新しい ArrayProcessor(新しい EvenValidator());

58.$processor->process(array(1, 20, 18, 5, 0, 31, 42));

http://www.bkjia.com/PHPjc/998007.html

www.bkjia.com

tru​​e


http://www.bkjia.com/PHPjc/998007.html

技術記事

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。