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

米拓网站建设教程商业网站的创建程序

米拓网站建设教程,商业网站的创建程序,海东市住房和城乡建设局网站,统计网络网站建设的目的23种计模式之 前言 #xff08;5#xff09;单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、#xff08;11#xff09;策略模式、责任链模式、命令模式、中介者模…23种计模式之 前言 5单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、11策略模式、责任链模式、命令模式、中介者模式、模板模式、迭代器模式、访问者模式、观察者模式、解释器模式、备忘录模式、状态模式 设计原则 11-Python与设计模式–桥梁模式 一、画笔与形状 在介绍原型模式的一节中我们举了个图层的例子这一小节内容我们同样以类似画图的例子 说明一种结构类设计模式桥梁模式。 在一个画图程序中常会见到这样的情况有一些预设的图形如矩形、圆形等还有一个对象-画笔 调节画笔的类型如画笔还是画刷还是毛笔效果等并设定参数如颜色、线宽等选定图形 就可以在画布上画出想要的图形了。要实现以上需求先从最抽象的元素开始设计 即形状和画笔暂时忽略画布同时忽略画笔参数只考虑画笔类型。class Shape:nameparamdef __init__(self,*param):passdef getName(self):return self.namedef getParam(self):return self.name,self.paramclass Pen:shapetypedef __init__(self,shape):self.shapeshapedef draw(self):pass形状对象和画笔对象是最为抽象的形式。接下来构造多个形状如矩形和圆形 class Rectangle(Shape):def __init__(self,long,width):self.nameRectangleself.paramLong:%s Width:%s%(long,width)print Create a rectangle:%s%self.param class Circle(Shape):def __init__(self,radius):self.nameCircleself.paramRadius:%s%radiusprint Create a circle:%s%self.param紧接着是构造多种画笔如普通画笔和画刷 class NormalPen(Pen):def __init__(self,shape):Pen.__init__(self,shape)self.typeNormal Linedef 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.typeBrush Linedef draw(self):print DRAWING %s:%s----PARAMS:%s % (self.type,self.shape.getName(), self.shape.getParam())业务中的逻辑如下 if __name____main__:normal_penNormalPen(Rectangle(20cm,10cm))brush_penBrushPen(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://www.hkea.cn/news/14544273/

相关文章:

  • 阿里云腾讯云网站建设旅游网站建设ppt模板下载
  • 短视频推广引流方案免费下载百度seo
  • 网站建设模块分析电影网站建设步骤
  • 什么网站可以做头像注册安全工程师考试时间
  • 福田企业网站优化排名上海兼职网站制作
  • 网站建设功能点价格移动官网网站建设
  • icp备案通过了 怎么修改我的网站wordpress 页面 权限
  • 东莞专业微网站建设word+没有安装wordpress
  • 网站建设技术做购物网站用什么应用
  • 培训网站搭建新媒体营销中常见的知识问答平台有
  • 建网站需要哪些步骤沈阳建站价格
  • 做视频网站程序多少钱网站logo修改
  • 天津有哪些有名的网站建设公司仿站定制模板建站
  • 转入已备案网站本地安装wordpress
  • 设计学习网站怎么建设自己淘宝网站首页
  • 贵阳网站设计模板渠道分销管理系统
  • 广网站建设新闻源软文推广平台
  • 公司网站宣传设计有没有做旅游攻略的网站
  • 黑龙江建设兵团知青网站福安做网站
  • 昆明酒店网站建设苏州网络推广软件
  • 成都创新网站建设领导高度重视门户网站建设
  • 山西免费网站制作临沂网站建设设计公司
  • 网站开发及app开发报价单wordpress 实名
  • 福州网站设计软件南京模板网站开发
  • 青岛西海岸新区建设网站毕业设计做购物网站
  • 网站建设 定制网站模板 婴儿
  • 成都建设银行合作装修网站浙江东南网架公司
  • 官网建站合作模版哔哩哔哩网页版搜索不了
  • 汝州市住房和城乡规划建设局网站网络服务费会计分录
  • 凡科做网站关键词最简单的出入库管理软件