• 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("没有发现
    ");
    29     }
    30     else
    31     {
    32         for (char *p = str; *p != ''; 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 }
  • 相关阅读:
    本地时间与UTC(世界协调时间)的转换
    windows共享在linux下挂载
    日期中带的 T 是什么意思
    FCBU喜马拉雅音频批量下载器
    C#使用[CefSharp]Chrome浏览器(1)安装
    云锵投资 2022 年 2 月简报
    云锵投资 2022 年 1 月简报
    MySQL分组(group by)取最大值、最小值
    tabel布局中给tr加border边框
    ant 使用指南
  • 原文地址:https://www.cnblogs.com/xiaochi/p/8540194.html
Copyright © 2020-2023  润新知