首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

一起学习设计模式--08.桥接模式

现实生活中我们经常会遇到两种类型的笔,他们分别是毛笔和蜡笔。假设需要使用大、中、小3种型号的画笔来绘制12种不同的颜色。如果使用蜡笔,需要3 X 12 = 36 支。但是如果是毛笔的话,就不一样了,我们只需要3种型号的毛笔,和12盒颜料即可,涉及的对象个数仅为 3 + 12 = 15,要远远小于36,但是却可以实现与36种蜡笔一样的效果。如果要增加一种新型号的画笔,并且也需要12种颜色,相应的蜡笔需要增加12支,但是毛笔只需要增加一支即可。通过分析得知:在蜡笔中,颜色和型号两个不同的变化维度耦合在一起,无论是对颜色进行扩展,还是对型号进行扩展,都会对另一种维度产生影响。但在毛笔中,颜色和型号进行了分离,增加新的颜色或型号对另一方都没有任何影响。如果使用软件工程中的术语,可以认为,在蜡笔中颜色和型号之间存在较强的耦合性,而毛笔很好的将二者解耦,使用起来非常灵活,扩展也更为方便。在软件开发中,也提供了一种设计模式来处理与画笔类似的具有多变化维度的情况,即接下来要学习的桥接模式。

01

设计模式的征途—8.桥接(Bridge)模式

在现实生活中,我们常常会用到两种或多种类型的笔,比如毛笔和蜡笔。假设我们需要大、中、小三种类型的画笔来绘制12中不同的颜色,如果我们使用蜡笔,需要准备3*12=36支。但如果使用毛笔的话,只需要提供3种型号的毛笔,外加12个颜料盒即可,涉及的对象个数仅为3+12=15,远远小于36却能实现与36支蜡笔同样的功能。如果需要新增一种画笔,并且同样需要12种颜色,那么蜡笔需要增加12支,而毛笔却只需要新增1支。通过分析,在蜡笔中,颜色和型号两个不同的变化维度耦合在一起,无论对其中任何一个维度进行扩展,都势必会影响另外一个维度。但在毛笔中,颜色和型号实现了分离,增加新的颜色或者型号都对另外一方没有任何影响。在软件系统中,有些类型由于自身的逻辑,它具有两个或多个维度的变化。为了解决这种多维度变化,又不引入复杂度,这就要使用今天介绍的Bridge桥接模式。

04

AI 技术讲座精选:如何利用 Python 读取数据科学中常见几种文件?

前 言 如果你是数据行业的一份子,那么你肯定会知道和不同的数据类型打交道是件多么麻烦的事。不同数据格式、不同压缩算法、不同系统下的不同解析方法——很快就会让你感到抓狂!噢!我还没提那些非结构化数据和半结构化数据呢。 对于所有数据科学家和数据工程师来说,和不同的格式打交道都乏味透顶!但现实情况是,人们很少能得到整齐的列表数据。因此,熟悉不同的文件格式、了解处理它们时会遇到的困难以及处理某类数据时的最佳/最高效的方法,对于任何一个数据科学家(或者数据工程师)而言都必不可少。 在本篇文章中,你会了解到数据科学家

04

【计算机视觉】OpenCV图像处理基础

OpenCV是目前最流行的计算机视觉处理库之一,受到了计算机视觉领域众多研究人员的喜爱。计算机视觉是一门研究如何让机器“看”的科学,即用计算机来模拟人的视觉机理,用摄像头代替人眼对目标进行识别、跟踪和测量等,通过处理视觉信息获得更深层次的信息。例如,通过拍摄环绕建筑物一周的视频,利用三维重建技术重建建筑物三维模型;通过放置在车辆上方的摄像头拍摄前方场景,推断车辆能否顺利通过前方区域等决策信息。对于人类来说,通过视觉获取环境信息是一件非常容易的事情,因此有人会误认为实现计算机视觉是一件非常容易的事情。但事实不是这样的,因为计算机视觉是一个逆问题,通过观测到的信息恢复被观测物体或环境的信息,在这个过程中会缺失部分信息,造成信息不足,增加问题的复杂性。例如,当通过单个摄像头拍摄场景时,因为失去了距离信息,所以常会出现图像中“人比楼房高”的现象。因此,计算机视觉领域的研究还有很长的路要走。

02

Foremost简介

上周在 安恒萌新粉丝群:928102972分享介绍了 binwalk,今天分享一款同样可以用来文件还原分离的神器。 foremost是一个 控制台程序,用于根据页眉,页脚和内部数据结构 恢复文件。 Foremost可以处理图像文件,例如由 dd, Safeback, Encase等生成的图像文件,或直接在驱动器上。页眉和页脚可以由配置文件指定,也可以使用命令行开关指定内置文件类型。这些内置类型查看给定文件格式的数据结构,从而实现更可靠,更快速的恢复。在 数字取证中和 CTF中常用来恢复、分离文件。它默认支持 19种类型文件(jpg, gif, png, bmp, avi, exe, mpg, mp4, wav, riff, wmv, mov, pdf, ole, doc, zip, rar, html, cpp 等文件)的扫描识别恢复,还可以通过(通过配置它的配置文件 foremost.conf)增加新的支持类型。

02

网站图片优化有哪些?

一个好的站点,不但要有精彩的内容,还需要有一个美观的页面。谈到美观就离不开图片,在页面中适当地用一些精美的图片作为点缀,会使你的网页大放异彩。但是,图片使用不当,也会适得其反,把你的访问者给吓跑。主要原因在于图片尺寸太大,访问者还没等打开就早已不耐烦了。 现在向大家介绍一些对图片进行处理的方法,以使图片能在网页中迅速显示出来。 选好图片格式 图片文件的格式有很多,如GIF、JPEG(文件扩展名为.jpg)、BMP、PNG等,它们都是可以用浏览器浏览的,但到底选择哪种图片格式比较好呢?其实在一般情况下我们只需选择前面的两种,即GIF格式与JPEG格式。因为这两种文件格式能对图像进行很大程度的压缩,使得在产生相近视觉效果的前提下,图像文件尺寸却小很多。如果图像是通过扫描仪或者数码相机获取的,这种图片中所用到的色彩比较多,这时候我们应该选择使用JPEG格式来存储图像。如果图片色彩比较少,一般选择GIF格式。 减少图片色彩数量 图片内色彩数量愈多,文件尺寸就愈大,在Paint Shop Pro软件的“Color”下拉菜单中,有一项“Decrease Color Depth”功能,它是用来减少图像所用颜色数目的,你可以选择其中的“16 Colors”,即将图片所使用的色彩数量减到16种颜色。当颜色数目减少后,如果你认为图像质量变化不大,这时你就可以选用GIF格式。 对图片进行适当压缩 如果你认为色彩数量减少后图像的视觉效果明显变差,让你不能忍受,那么我们可以采用JPEG压缩格式。无论是使用什么样的图形处理软件,在以JPEG格式存盘时,都要向你询问JPEG的压缩比。通常,采样50%到70%的压缩率比较好。你不妨在这时试着使用256色的格式将图片存储成GIF格式,与JPEG格式的文件比一比哪个字节数更少、图像质量如何,最终再决定使用什么图像格式。

01
领券