2.泡妞与设计模式(三) 外观模式
FACADE 门面(外观)模式
门面模式:外部与一个子系统的通信必须通过一个统一的门面对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。每一个子系统只有一个门面类,而且此门面类只有一个实例,也就是说它是一个单例模式。但整个系统可以有多个门面类。(简单来说就是简化了操作,传递某个特定参数就可以执行,其他用默认)
我有一个专业的Nikon相机,我就喜欢自己手动调光圈、快门,这样照出来的照片才专业,但MM可不懂这些,教了半天也不会。幸好相机有Facade设计模式,把相机调整到自动档,只要对准目标按快门就行了,一切由相机自动调整,这样MM也可以用这个相机给我拍张照片了。
示例代码
#include <stdio.h> #include <stdlib.h> #include <Windows.h> #include <locale.h>//输出到屏幕 void print(wchar_t *str) {wprintf(L"%ls\n", str); }//对话框显示 void show(wchar_t *str) {MessageBoxW(NULL, L"i love you", str, NULL); }//外观模式 void apparence(int i) {POINT pos;while (1){//设置中文setlocale(LC_ALL, "zh-CN");GetCursorPos(&pos);//根据鼠标位置获取句柄HWND hwnd = WindowFromPoint(pos);wchar_t str[100] = { 0 };//读取文本GetWindowTextW(hwnd, str, 100);if (i == 0){print(str);}else if (i == 1){show(str);}Sleep(1000);}}void main() {apparence(0); }
转载于:https://www.cnblogs.com/xiaochi/p/8531610.html
2.泡妞与设计模式(三) 外观模式相关推荐
- 7.泡妞与设计模式(八)模板模式
TEMPLATE METHOD 模板模式 模板方法模式:模板方法模式准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑.不同的子类可以以不同的方 ...
- 0.泡妞与设计模式(一)工厂模式
工厂模式: 客户类和工厂类分开.消费者任何时候需要某种产品,只需向工厂请求即可.消费者无须修改就可以接纳新产品.缺点是当产品修改时,工厂类也要做相应的修改.如:如何创建及如何向客户端提供.(简洁来说就 ...
- 6.泡妞与设计模式(七)策略模式
STRATEGY 策略模式 策略模式:策略模式针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换.策略模式使得算法可以在不影响到客户端的情况下发生变化.策略模把行为和环 ...
- Swift 中的设计模式 #3 外观模式与适配器模式
作者:Andrew Jaffee,原文链接,原文日期:2018-09-04 译者:郑一一:校对:BigNerdCoding,pmst,Forelax:定稿:Forelax 本文是我的设计模式系列教程的 ...
- 移动开发 | Swift 中的设计模式 #3 外观模式与适配器模式
本文是我的设计模式系列教程的第三篇.在第一篇文章中,我介绍了 创建型模式中的工厂模式和单例模式.在第二篇文章中,又讨论了一下 行为型模式中的观察者模式和备忘录模式. 在本文中,我会就结构型模式中的外观 ...
- [设计模式C++]外观模式
系列文章总结一些比较常见的设计模式,外观模式是由GoF提出的23种设计模式的一种,使用非常简单. 2021-09-16 增加一个例子 区别于代理模式,都像是插入第三者,但是外观模式是统筹管理子系统,就 ...
- 研磨设计模式之外观模式(Facade)(解决方案)
3.2 解决方案 3.2.1 外观模式来解决 用来解决上述问题的一个合理的解决方案就是外观模式.那么什么是外观模式呢? (1)外观模式定义 这里先对两个词进行一下说明,一个是界面,一个是接口. 界 ...
- JS常用的设计模式(7)—— 外观模式
JS常用的设计模式(7)-- 外观模式 外观模式(门面模式),是一种相对简单而又无处不在的模式.外观模式提供一个高层接口,这个接口使得客户端或子系统更加方便调用. 用一段再简单不过的代码来表示 var ...
- Javascript 设计模式之外观模式【讲师辅导】-曾亮-专题视频课程
Javascript 设计模式之外观模式[讲师辅导]-770人已学习 课程介绍 随着 javascript ES6/7 的发布,很多老版本的设计模式的实现,今天来看是错误的,将被彻底. ...
- 如何让孩子爱上设计模式 ——11.外观模式(Facade Pattern)
如何让孩子爱上设计模式 --11.外观模式(Facade Pattern) 标签: 设计模式初涉 场景引入 相信各位玩过LOL英雄联盟游戏的童鞋,对下面两个英雄都不会陌生吧: 分别是瑞雯和 ...
最新文章
- 如何用java使用POI读取excel文件,创建excel文件,实现批量导出和导入
- 利用Python进行数据分析-07-汇总和计算描述统计
- lucene两个分页操作
- mysql修改校对集_MySQL 图文详细教程之校对集问题
- 【BZOJ1965】【codevs1446】洗牌,快速幂+扩展欧几里德
- 记录开发移动端项目过程中的各种问题、插件及教程(不定时更新)
- 「leetcode」本周小结!(回溯算法系列二)
- Linux下常用组的权限特点,Linux中的用户与用户组
- ppt制作弹跳的小球动画效果_PPT制作弹跳的小球动画效果实例教程
- 毕业半年,点滴在心中
- 拆解 米家扫地机器人_1699元!小米米家扫地机器人拆解:真复杂
- c语言中文网GUI,golang gui介绍
- 中国LVDT RVDT传感器市场现状研究分析与发展前景预测报告(2022)
- 数字录音系统服务器,IP数字网络广播控制中心服务器
- 题目选自《第八届图灵杯》-------买花
- cad2012打开后闪退_为什么CAD2012一打开就闪退啊。求大神解答
- Windows XP注册表信息
- Java程序是如何运行的
- 大学生网页作业之-个人主页、校园网站
- linux系统查看网口流量,linux 查看网口流量