外观模式案例分析

策划案

要实现选中和未选中功能:

这里写图片描述

未选中状态:点击图形进入选中状态

这里写图片描述
选中状态:点击<按钮进入未选中状态

实现代码

请问这是什么模式?

import TransformController from './TransformController'   //操作框控制器类
import ToolbarHelper from '../view/ToolbarHelper'   //工具条帮助类export default class ControllerHelper {   //控制帮助类init() {this.transform = new TransformController();this.toolbar = new ToolbarHelper();}show() {   //选中this.transform.show();this.toolbar.show();}hide() { //非选中this.transform.hide();this.toolbar.hide();}}

答案是:外观模式!参考:外观模式

模式应用分析

外观模式为系统中的一组接口提供一致的界面。当一个功能需要多个对象协作完成时,就可以使用外观模式。

例如:windows的窗口系统,就是外观模式的例子。比如关闭窗口功能,它可能有数据管理对象保存数据,窗口管理对象擦除界面,内存管理对象释放内存,这些对象都很复杂,但是通过外观模式,调用者只需要:

window.close()

并不用关心close()如何工作。所以。外观模式降低了系统使用的复杂性。同时,外观模式隐藏了实现细节,所以开发者可以随意更改实现细节,实现了开发和调用的解耦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430023.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

input ios问题 小程序_小程序可以解决哪些问题??

小程序是近几年移动互联网领域的热点&#xff0c;随着移动互联网在消费端逐渐进入到了存量时代&#xff0c;小程序成为了互联网平台向各个领域垂直发展的重要策略&#xff0c;而广大的中小创业者要想充分利用大型互联网平台的流量资源&#xff0c;小程序也是一个非常重要的渠道…

sprintf函数_三分钟学 Go 语言——函数深度解析(下) 可变参数

接连两篇函数专题深度解析&#xff0c;相信大家已经对函数的语法有了深入的了解。函数简单使用和基本知识解析匿名函数和闭包五一放假期间&#xff0c;我懂得&#xff0c;估计你们都不想学习。小熊这两天因为个人种种令人难受的原因&#xff0c;没有能更新&#xff0c;也没有提…

手工画设计模式的类图

画图成果 面试常考设计模式&#xff0c;往往需要动手画类图。之前面试的时候碰到画类图&#xff0c;往往直奔主题&#xff0c;立即开始画&#xff0c;往往画得很乱。其实面试是一个过程&#xff0c;看中的是思考分析解决问题的过程&#xff0c;结果反而不那么重要。画设计模式…

Reason: image not found

刚生的Xcode8&#xff0c;出现好多Error&#xff0c;有些Error真的太麻烦不想记录&#xff0c;现在这个挺简单的&#xff0c;就记下来&#xff0c;控制台输出的Error信息如下&#xff1a; fix&#xff1a; Target -> Build Phases ->Link Binary With Libraries&#xff…

怎么查看usb读取信息_电脑弹出USB设备时提示该设备正在使用中的解决方法

转载的文章&#xff0c;原文&#xff1a;电脑弹出USB设备时提示该设备正在使用中的解决方法&#xff0d;系统城​www.xitongcheng.com电脑弹出USB设备时提示该设备正在使用&#xff0c;虽然在正常显示时并没有程序在使用&#xff0c;但是确实会出现这种情况&#xff0c;实际上确…

js菜单自适应的实现

功能示意图 菜单自适应示意图如下&#xff1a; 对象A可以拖动&#xff0c;缩放。菜单跟随对象A拖动&#xff0c;位置优先级为下面、上面、右边、左边、中间。 实现思路 其实菜单放在上下左右中&#xff0c;都是它的left和top在变&#xff0c;我们只要依次计算菜单在下/上/右…

promise简析

promise可以解决多个回调函数嵌套问题&#xff0c;将嵌套所表示的流程通过同步的代码更加清晰的表达出来。 promise的用法与使用配置文件很类似&#xff1a;启动异步函数&#xff0c;在then里面配置好异步函数成功或执行失败的回调函数&#xff0c;然后就可以去干别的事了。 …

webpaper网页出题语言

目的 方便编写web试题&#xff0c;直接使用几个简单的标签&#xff0c;就可以生成一份可以在web上使用&#xff0c;并且可以打印出来的题。 效果预览 考卷打印效果 生成考卷发送给学生&#xff0c;或打印出来线下考 答案卷打印效果&#xff1a; 通过点击”显示答案”生成答…

table 表格点击当前行按钮隐藏当前的另一个按钮_Excel表格为什么那么慢已经应该如何解决(四)一类特殊的函数易变函数(volatile function)...

我们&#xff0c;让Excel变简单今天我们把主题聚焦在一类特殊函数造成的问题上——volatile function。这一类函数有人把他们翻译成“易变函数”&#xff0c;其实挺贴切的。本系列其他文章&#xff1a;Excel表格为什么那么慢已经应该如何解决(一)概述Excel表格为什么那么慢已经…

h5离线应用

h5离线应用 所谓离线应用&#xff0c;就是断网之后还可以运行的应用。h5提供了application cache&#xff0c;可以保存网页的离线数据。CSDN的Markdown编辑器就运用了application cache&#xff0c;在没有网络的情况下&#xff0c;一样可以正常使用&#xff0c;这就是一个很好…

[deviceone开发]-do_RichLabel的简单示例

一、简介 do_RichLabel支持html格式的文本内容&#xff0c;但是只支持部分标签&#xff0c;这个示例列出了一些支持的常用标签&#xff0c;android能支持的标签相对ios更少 二、效果图 三、相关下载 https://github.com/do-project/code4do/tree/master/richlabel_demo 四、相关…

使用rpm包升级ntpd服务_服务器准备升级,小程序将暂停使用

今天说3件事情&#xff1a;一、由于用户增速超出了我们的预期&#xff0c;为确保法助攻小程序的使用体验&#xff0c;我们购买了更高配置的服务器&#xff0c;目前&#xff0c;内部测试已完成&#xff0c;现决定对服务器进行正式升级。服务器升级时间&#xff1a;8月7日(本周五…

重装Nodejs后,webstorm代码报错问题

项描述现象之前没有问题的代码&#xff0c;突然出现很多奇怪的错误原因没有更新webstorm的Nodejs路径设置造成的解决办法重新设置webstorm的Nodejs路径&#xff0c;见下图 重新选择Nodejs安装目录&#xff0c;点击应用

java peek函数_基础篇:JAVA.Stream函数,优雅的数据流操作

写在开头&#xff1a;本文是转载于掘金上的一篇文章&#xff0c;已获得原作者授权&#xff0c;我会在文章最后放上原作者和原文链接。前言平时操作集合数据&#xff0c;我们一般都是for或者iterator去遍历&#xff0c;不是很好看。java提供了Stream的概念&#xff0c;它可以让我…

mongodb 数组添加_NoSQL之MongoDB——简介

MongoDB是一种开源文档型数据库&#xff0c;它具有高性能&#xff0c;高可用性&#xff0c;自动扩展性1.文档数据库MongoDB用一个文档来表示一条记录&#xff0c;文档的数据结构由键值对组成。MongoDB文档类似于JSON对象&#xff0c;字段值可能是文档&#xff0c;数组&#xff…

Buying Feed, 2010 Nov (单调队列优化DP)

约翰开车回家&#xff0c;又准备顺路买点饲料了&#xff08;咦&#xff1f;为啥要说“又”字&#xff1f;&#xff09;回家的路程一共有 E 公里&#xff0c;这一路上会经过 K 家商店&#xff0c;第 i 家店里有 Fi 吨饲料&#xff0c;售价为每吨 Ci 元。约翰打算买 N 吨饲料&…

一次真实的XXS攻击

这是一个真实的事&#xff0c;一家比较大的公司举办的一个全国性的投票&#xff0c;然而&#xff0c;页面确实写得很烂&#xff0c;做假太容易。 首先&#xff0c;找到投票按钮的源代码&#xff1a; 这个”tp”类就是投票事件的定位关键字。 然后&#xff0c;打开source下的源…

使用Chrome Dev Tools, deb.js调试Javascript小技巧

本文讲介绍一些基于 Chrome Dev Tools 的实用的客户端Javascript 调试小技巧。我将重点关注那些无从下手&#xff0c;不知道该在哪儿添加断点的情景。 首先看下本文主题&#xff1a; 找出哪段代码正在修改了页面找出谁发送了某个ajax请求在抛出异常时触发断点条件断点事件断点…

jenkins Auth fail验证失败

重新设置密码转载于:https://www.cnblogs.com/cocoat/p/5982931.html

CSS3 Perspective

一 、在元素的父元素上使用 在父元素上使用Perspective属性可以使用透视投影视图&#xff0c;在父元素上加上&#xff1a; perspective:400px 表示相机距离屏幕位置为400px。默认相机对准父元素的中心&#xff0c;要重设相机的焦点可以使用&#xff1a; perspective-origin…