php设计模式之命令链模式_PHP教程

WBOY
發布: 2016-07-13 09:54:20
原創
1011 人瀏覽過

php设计模式之命令链模式

命令链模式:

   命令链模式以松散耦合主题为基础,发送消息、命令和请求,或通过一组处理程序发送任意内容。每个处理程序都会自行判断自己能否处理请求。如果可以,该请求被处理,进程停止。您可以为系统添加或移除处理程序,而不影响其他处理程序。

 

 

1.interface Validator

2.{

3. /**

4. * The method could have any parameters.

5. * @param mixed

6. * @return boolean

7. */

8. public function isValid($value);

9.}

10.

11./**

12. * ConcreteCommand.

13. */

14.class MoreThanZeroValidator implements Validator

15.{

16. public function isValid($value)

17. {

18. return $value > 0;

19. }

20.}

21.

22./**

23. * ConcreteCommand.

24. */

25.class EvenValidator implements Validator

26.{

27. public function isValid($value)

28. {

29. return $value % 2 == 0;

30. }

31.}

32.

33./**

34. * The Invoker. An implementation could store more than one

35. * Validator if needed.

36. */

37.class ArrayProcessor

38.{

39. protected $_rule;

40.

41. public function __construct (Validator $rule)

42. {

43. $this->_rule = $rule;

44. }

45.

46. public function process(array $numbers)

47. {

48. foreach ($numbers as $n) {

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

50. echo $n, "\n";

51. }

52. }

53. }

54.}

55.

56.// Client code

57.$processor = new ArrayProcessor(new EvenValidator());

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

 

 

 

 

 


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/998007.htmlTechArticlephp设计模式之命令链模式 命令链模式: 命令链模式以松散耦合主题为基础,发送消息、命令和请求,或通过一组处理程序发送任意内容。...
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板