6.泡妞与设计模式(七)策略模式

STRATEGY 策略模式

策略模式:策略模式针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模把行为和环境分开。环境类负责维持和查询行为类,各种算法在具体的策略类中提供。由于算法和环境独立开来,算法的增减,修改都不会影响到环境和客户端。

跟不同类型的MM约会,要用不同的策略,有的请电影比较好,有的则去吃小吃效果不错,有的去海边浪漫最合适,单目的都是为了得到MM的芳心,我的追MM锦囊中有好多Strategy哦。

 

代码示例:

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <Windows.h>
 4 
 5 //函数声明,输出到notepad
 6 void speak(char *str);
 7 
 8 //根据环境决定行为
 9 void mySpeak(char *eve)
10 {
11     if (strcmp(eve, "face-English") == 0)
12     {
13         speak("hello");
14     }
15     else if (strcmp(eve, "face-Chinese") == 0)
16     {
17         speak("ni hao");
18     }
19 }
20 
21 //输出到notepad
22 void speak(char *str)
23 {
24     HWND win = FindWindowA("Notepad", "无标题 - 记事本");
25     HWND con = FindWindowExA(win, NULL, "Edit", "");
26     if (win == NULL)
27     {
28         printf("没有发现\n");
29     }
30     else
31     {
32         for (char *p = str; *p != '\0'; p++)
33         {
34             SendMessageA(con, WM_CHAR, (WPARAM)(*p), 0);
35             Sleep(50);
36         }
37     }
38 }
39 
40 void main()
41 {
42     mySpeak("face-English");
43     
44     system("pause");
45 }

 

posted @ 2018-03-10 15:23  喵小喵~  阅读(153)  评论(0)    收藏  举报