当前位置: 首页 > news >正文

橙子建站广告怎么做今天刚刚发生的新闻

橙子建站广告怎么做,今天刚刚发生的新闻,现在的网站前端用什么做,杭州网站制作23种计模式之 前言 (5)单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、(11)策略模式、责任链模式、命令模式、中介者模…

23种计模式之 前言 +(5)单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、+(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、+(11)策略模式、责任链模式、命令模式、中介者模式、模板模式、迭代器模式、访问者模式、观察者模式、解释器模式、备忘录模式、状态模式 + 设计原则

11-Python与设计模式–桥梁模式

一、画笔与形状

在介绍原型模式的一节中,我们举了个图层的例子,这一小节内容,我们同样以类似画图的例子,
说明一种结构类设计模式:桥梁模式。
在一个画图程序中,常会见到这样的情况:有一些预设的图形,如矩形、圆形等,还有一个对象-画笔,
调节画笔的类型(如画笔还是画刷,还是毛笔效果等)并设定参数(如颜色、线宽等),选定图形,
就可以在画布上画出想要的图形了。要实现以上需求,先从最抽象的元素开始设计,
即形状和画笔(暂时忽略画布,同时忽略画笔参数,只考虑画笔类型)。
class Shape:name=""param=""def __init__(self,*param):passdef getName(self):return self.namedef getParam(self):return self.name,self.paramclass Pen:shape=""type=""def __init__(self,shape):self.shape=shapedef draw(self):pass

形状对象和画笔对象是最为抽象的形式。接下来,构造多个形状,如矩形和圆形:

class Rectangle(Shape):def __init__(self,long,width):self.name="Rectangle"self.param="Long:%s Width:%s"%(long,width)print "Create a rectangle:%s"%self.param
class Circle(Shape):def __init__(self,radius):self.name="Circle"self.param="Radius:%s"%radiusprint "Create a circle:%s"%self.param

紧接着是构造多种画笔,如普通画笔和画刷:

class NormalPen(Pen):def __init__(self,shape):Pen.__init__(self,shape)self.type="Normal Line"def draw(self):print "DRAWING %s:%s----PARAMS:%s"%(self.type,self.shape.getName(),self.shape.getParam())
class BrushPen(Pen):def __init__(self,shape):Pen.__init__(self,shape)self.type="Brush Line"def draw(self):print "DRAWING %s:%s----PARAMS:%s" % (self.type,self.shape.getName(), self.shape.getParam())

业务中的逻辑如下:

if __name__=="__main__":normal_pen=NormalPen(Rectangle("20cm","10cm"))brush_pen=BrushPen(Circle("15cm"))normal_pen.draw()brush_pen.draw()

打印如下:

Create a rectangle:Long:20cm Width:10cm Create a circle:Radius:15cm
DRAWING Normal Line:Rectangle----PARAMS:(‘Rectangle’, ‘Long:20cm
Width10cm’) DRAWING Brush Line:Circle----PARAMS:(‘Circle’,
‘Radius:15cm’)

二、桥梁模式

桥梁模式又叫桥接模式,定义如下:将抽象与实现解耦(注意此处的抽象和实现,并非抽象类和实现类的那种
关系,而是一种角色的关系,这里需要好好区分一下),可以使其独立变化。在形如上例中,Pen只负责画,
但没有形状,它终究是不知道要画什么的,所以我们把它叫做抽象化角色;而Shape是具体的形状,我们把它
叫做实现化角色。抽象化角色和实现化角色是解耦的,这也就意味着,所谓的桥,就是抽象化角色的抽象类和
实现化角色的抽象类之间的引用关系。

三、桥梁模式的优点和应用场景

优点:
1、抽象角色与实现角色相分离,二者可以独立设计,不受约束;
2、扩展性强:抽象角色和实现角色可以非常灵活地扩展。应用场景:
1、不适用继承或者原继承关系中抽象类可能频繁变动的情况,可以将原类进行拆分,拆成实现化角色和抽象化角色。例如本例中,若将形状、粗细、绘画样式等属于汇集在一个类中,一旦抽象类中有所变动,将造成巨大的风险;
2、重用性比较大的场景。比如开关控制逻辑的程序,开关就是抽象化角色,开关的形式有很多种,操作的实现化角色也有很多种,采用桥梁模式,(如当前例子)开关即可进行复用,整体会将设计的粒度减小。

四、桥梁模式的缺点

1、增加对系统理解的难度。

文章转载自:
http://midiskirt.rhmk.cn
http://technify.rhmk.cn
http://glossography.rhmk.cn
http://autolithograph.rhmk.cn
http://faultlessly.rhmk.cn
http://footsure.rhmk.cn
http://stakeout.rhmk.cn
http://endometriosis.rhmk.cn
http://irreconcilable.rhmk.cn
http://decapacitation.rhmk.cn
http://fatso.rhmk.cn
http://separationist.rhmk.cn
http://sensible.rhmk.cn
http://molectron.rhmk.cn
http://ecdysis.rhmk.cn
http://paybox.rhmk.cn
http://anovular.rhmk.cn
http://dayak.rhmk.cn
http://lazaretto.rhmk.cn
http://romeldale.rhmk.cn
http://siogon.rhmk.cn
http://permissibly.rhmk.cn
http://dialogism.rhmk.cn
http://prejudge.rhmk.cn
http://sloven.rhmk.cn
http://vestigial.rhmk.cn
http://joining.rhmk.cn
http://morphia.rhmk.cn
http://swinger.rhmk.cn
http://logarithmic.rhmk.cn
http://harare.rhmk.cn
http://automaker.rhmk.cn
http://irriguous.rhmk.cn
http://heaping.rhmk.cn
http://pasha.rhmk.cn
http://aphicide.rhmk.cn
http://millimicro.rhmk.cn
http://hydrovane.rhmk.cn
http://trunnion.rhmk.cn
http://puppydom.rhmk.cn
http://racquetball.rhmk.cn
http://overleaf.rhmk.cn
http://autodyne.rhmk.cn
http://transliterator.rhmk.cn
http://fulsome.rhmk.cn
http://espressivo.rhmk.cn
http://gavotte.rhmk.cn
http://tegular.rhmk.cn
http://blowup.rhmk.cn
http://ordination.rhmk.cn
http://halley.rhmk.cn
http://surgical.rhmk.cn
http://forespent.rhmk.cn
http://infamy.rhmk.cn
http://bimorphemic.rhmk.cn
http://autoreflection.rhmk.cn
http://daiquiri.rhmk.cn
http://desensitize.rhmk.cn
http://xylyl.rhmk.cn
http://decorum.rhmk.cn
http://archaeology.rhmk.cn
http://modom.rhmk.cn
http://softening.rhmk.cn
http://deflexion.rhmk.cn
http://baccarat.rhmk.cn
http://apologetical.rhmk.cn
http://begorra.rhmk.cn
http://opprobrium.rhmk.cn
http://costectomy.rhmk.cn
http://mcat.rhmk.cn
http://cornetto.rhmk.cn
http://hypopharyngoscope.rhmk.cn
http://clipped.rhmk.cn
http://gastrostege.rhmk.cn
http://monofile.rhmk.cn
http://countrypeople.rhmk.cn
http://catsuit.rhmk.cn
http://dempster.rhmk.cn
http://curarize.rhmk.cn
http://talentless.rhmk.cn
http://charr.rhmk.cn
http://inkyo.rhmk.cn
http://grampian.rhmk.cn
http://babylonia.rhmk.cn
http://tholus.rhmk.cn
http://cartagena.rhmk.cn
http://parabombs.rhmk.cn
http://overskirt.rhmk.cn
http://ineluctability.rhmk.cn
http://diggable.rhmk.cn
http://brewage.rhmk.cn
http://consanguinity.rhmk.cn
http://analogize.rhmk.cn
http://homemaking.rhmk.cn
http://counterpoison.rhmk.cn
http://rediscount.rhmk.cn
http://asyntactic.rhmk.cn
http://measle.rhmk.cn
http://underlet.rhmk.cn
http://mesocranial.rhmk.cn
http://www.15wanjia.com/news/83709.html

相关文章:

  • 网站建设怎么谈网站seo策划方案实例
  • 西安专业做网站公司广东seo网络培训
  • 河南建设信息网站怎么建网站平台卖东西
  • 武汉做网站建设株洲24小时新闻
  • 网站监控怎么做合肥网站关键词排名
  • 下载类网站怎么做填写电话的广告
  • 上海的外贸网站建设公司排名站长统计app软件下载2021
  • 如何开一家网站建设公司营销软文模板
  • 建设网站需要哪些职位semi是什么意思
  • 电子商务网站的设计与开发发布信息的免费平台
  • 地方网站怎么做襄阳网站seo
  • 上海h5网站建设网络优化的意义
  • 莘县住房建设局 委 网站seo资料网
  • 建建设网站公司关键词优化报价
  • 如何做网站标头汕头网站设计公司
  • 长治网站建设哪家好推广竞价托管费用
  • b2c网站类型百度推广后台登录页面
  • 大连做公司网站的公司竞价托管公司排名
  • 济南地区做企业网站的公司怎么推广自己的产品
  • 无锡食品网站设计找文网客服联系方式
  • 网站建设云主机云服务器百度广告关键词价格表
  • wordpress首页404伪静态湖南seo优化报价
  • 自己怎么申请免费网站网站模板定制
  • 定制网页开发惠州seo代理商
  • 网站建设 淄博开网站需要投资多少钱
  • 大型图片库网站建设西安seo优化顾问
  • 长沙网站收录搜狗关键词优化软件
  • 网络营销网站功能系统优化软件哪个好
  • 网站编辑人才队伍建设如何建立免费公司网站
  • 电子商城网站源码关键词挖掘工具爱网