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("没有发现 "); 29 } 30 else 31 { 32 for (char *p = str; *p != '