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

网站开发过程文档在wordpress中rss订阅的步骤是什么?

网站开发过程文档,在wordpress中rss订阅的步骤是什么?,电子商务网站建设重要性,友情链接什么意思4-Python与设计模式–原型模式 一、图层 大家如果用过类似于Photoshop的平面设计软件#xff0c;一定都知道图层的概念。图层概念的提出#xff0c; 使得设计、图形修改等操作更加便利。设计师既可以修改和绘制当前图像对象#xff0c;又可以保留其它 图像对象#xff0c;…4-Python与设计模式–原型模式 一、图层 大家如果用过类似于Photoshop的平面设计软件一定都知道图层的概念。图层概念的提出 使得设计、图形修改等操作更加便利。设计师既可以修改和绘制当前图像对象又可以保留其它 图像对象逻辑清晰且可以及时得到反馈。本节内容将以图层为主角介绍原型模式。 首先设计一个图层对象。 class simpleLayer:background[0,0,0,0]contentblankdef getContent(self):return self.contentdef getBackgroud(self):return self.backgrounddef paint(self,painting):self.contentpaintingdef setParent(self,p):self.background[3]pdef fillBackground(self,back):self.backgroundback在实际的实现中图层实现会很复杂这里仅介绍相关的设计模式做了比较大的抽象用 background表示背景的RGBA简单用content表示内容除了直接绘画还可以设置透明度。 新建图层填充蓝底并画一只狗可以简单表示如下 if __name____main__:dog_layersimpleLayer()dog_layer.paint(Dog)dog_layer.fillBackground([0,0,255,0])print Background:,dog_layer.getBackgroud()print Painting:,dog_layer.getContent()打印如下 Background: [0, 0, 255, 0] Painting: Dog 接下来如果需要再生成一个同样的图层再填充同样的颜色再画一只同样狗该如何做呢 还是按照新建图层、填充背景、画的顺序么或许你已经发现了这里可以用复制的方法来实现 而复制clone这个动作就是原型模式的精髓了。 按照此思路在图层类中新加入两个方法clone和deep_clone from copy import copy, deepcopy class simpleLayer:background[0,0,0,0]contentblankdef getContent(self):return self.contentdef getBackgroud(self):return self.backgrounddef paint(self,painting):self.contentpaintingdef setParent(self,p):self.background[3]pdef fillBackground(self,back):self.backgroundbackdef clone(self):return copy(self)def deep_clone(self):return deepcopy(self) if __name____main__:dog_layersimpleLayer()dog_layer.paint(Dog)dog_layer.fillBackground([0,0,255,0])print Background:,dog_layer.getBackgroud()print Painting:,dog_layer.getContent()another_dog_layerdog_layer.clone()print Background:, another_dog_layer.getBackgroud()print Painting:, another_dog_layer.getContent()打印结果如下 Background: [0, 0, 255, 0] Painting: Dog Background: [0, 0, 255, 0] Painting: Dog clone和deep_clone有什么区别呢 大多数编程语言中都会涉及到深拷贝和浅拷贝的问题一般来说浅拷贝会拷贝对象内容及其内容的引用或者 子对象的引用但不会拷贝引用的内容和子对象本身而深拷贝不仅拷贝了对象和内容的引用也会拷贝引用的 内容。所以一般深拷贝比浅拷贝复制得更加完全但也更占资源包括时间和空间资源。举个例子 下面的场景可以说明深拷贝和浅拷贝的区别。if __name____main__:dog_layersimpleLayer()dog_layer.paint(Dog)dog_layer.fillBackground([0,0,255,0])print Original Background:,dog_layer.getBackgroud()print Original Painting:,dog_layer.getContent()another_dog_layerdog_layer.clone()another_dog_layer.setParent(128)another_dog_layer.paint(Puppy)print Original Background:, dog_layer.getBackgroud()print Original Painting:, dog_layer.getContent()print Copy Background:, another_dog_layer.getBackgroud()print Copy Painting:, another_dog_layer.getContent()打印如下 Original Background: [0, 0, 255, 0] Original Painting: Dog Original Background: [0, 0, 255, 128] Original Painting: Dog Copy Background: [0, 0, 255, 128] Copy Painting: Puppy 浅拷贝后直接对拷贝后引用这里的数组进行操作原始对象中该引用的内容也会变动。如果将another_dog_layerdog_layer.clone()换成another_dog_layerdog_layer.deep_clone()即把浅拷贝换成深拷贝其如果如下 Original Background: [0, 0, 255, 0] Original Painting: Dog Original Background: [0, 0, 255, 0] Original Painting: Dog Copy Background: [0, 0, 255, 128] Copy Painting: Puppy 深拷贝后其对象内的引用内容也被进行了复制。 二、原型模式 原型模式定义如下用原型实例指定创建对象的种类并且通过复制这些原型创建新的对象。 需要注意一点的是进行clone操作后新对象的构造函数没有被二次执行 新对象的内容是从内存里直接拷贝的。 三、原型模式的优点和使用场景 3.1 优点 1、性能极佳直接拷贝比在内存里直接新建实例节省不少的资源 2、简化对象创建同时避免了构造函数的约束不受构造函数的限制直接复制对象 是优点也有隐患这一点还是需要多留意一些。 3.2 使用场景 1、对象在修改过后需要复制多份的场景。如本例和其它一些涉及到复制、粘贴的场景 2、需要优化资源的情况。如需要在内存中创建非常多的实例可以通过原型模式来减少资源 消耗。此时原型模式与工厂模式配合起来不管在逻辑上还是结构上都会达到不错的效果 3、某些重复性的复杂工作不需要多次进行。如对于一个设备的访问权限多个对象不用各申请一遍 权限由一个设备申请后通过原型模式将权限交给可信赖的对象既可以提升效率 又可以节约资源。 四、原型模式的缺点 1、深拷贝和浅拷贝的使用需要事先考虑周到 2、某些编程语言中拷贝会影响到静态变量和静态函数的使用。
http://www.zqtcl.cn/news/616679/

相关文章:

  • 网站建设领域的基本五大策略要学会网站细节
  • dede做英文网站优化cms建站系统哪个好
  • eclipse sdk做网站邯郸技术服务类
  • 汕头网站网站建设西安网约车租车公司哪家好
  • 网站空间域名维护协议网络推广软件平台
  • 昆明网站建设公司猎狐科技怎么样wordpress主题打不开
  • 网站推广入口服饰网站建设 e-idea
  • 长沙网站建设电话2个女人做暧暧网站
  • 手机手机端网站建设电子商务网站建设步骤一般为
  • 上海金瑞建设集团网站怎样登陆网站后台
  • 定西模板型网站建设网络架构和现实架构的差异
  • 做搜索的网站做网站的代码有哪些
  • 视频制作网站推荐js做音乐网站
  • 海北wap网站建设公司有后台网站怎么做
  • 织梦网站最新漏洞入侵外贸网站模板有什么用
  • 在跨境网站贸易公司做怎么样网站建设维护合同范本
  • 网站必须做可信认证南山网站制作
  • 如何使用mysql数据库做网站企业管理专业大学排名
  • 九江网站建设九江深圳网站建设费用大概多少
  • 万网站长工具郑州seo哪家公司最强
  • 宁波哪里可以做网站企业网站源码哪个好
  • 网站每天点击量多少好精选聊城做网站的公司
  • 网站建设课程基础兰州网站seo费用
  • 天助可以搜索别人网站曲靖网站推广
  • 易语言编程可以做网站么网站备案流程
  • 我想接加工单seo搜索引擎优化工资
  • 西宁做网站君博推荐wordpress如何管理
  • 个人建一个网站多少钱怎样优化网络速度
  • 网站建设项目进度表长春百度seo代理
  • 购物网站排名哪家好免费做房产网站