5.泡妞与设计模式(六)创建者模式
建造模式:将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。
MM最爱听的就是“我爱你”这句话了,见到不同地方的MM,要能够用她们的方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到MM我只要按对应的键,它就能够用相应的语言说出“我爱你”这句话了,国外的MM也可以轻松搞掂,这就是我的“我爱你”builder。(这一定比美军在伊拉克用的翻译机好卖)
代码示例
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <Windows.h> 4 5 //函数声明修改标题 6 void changeCaption(HWND win, char ch); 7 //修改窗口大小 8 void changePos(HWND win, int x, int y); 9 10 //创建者模式 11 void startNotepad(char ch, int x, int y) 12 { 13 system("start notepad"); 14 Sleep(1000); 15 HWND win = FindWindowA("Notepad", "无标题 - 记事本"); 16 17 if (win == NULL) 18 { 19 printf("文件查找失败\n"); 20 } 21 22 changeCaption(win, 'e'); 23 changePos(win, x, y); 24 } 25 26 //修改标题 27 void changeCaption(HWND win, char ch) 28 { 29 if (ch == 'e') 30 { 31 SetWindowTextA(win, "hello"); 32 } 33 else 34 { 35 SetWindowTextA(win, "你好"); 36 } 37 } 38 39 //修改位置 40 void changePos(HWND win, int x, int y) 41 { 42 SetWindowPos(win, NULL, 0, 0, x, y, 0); 43 } 44 45 void main() 46 { 47 startNotepad('e', 400, 400); 48 system("pause"); 49 }