04 2020 档案
摘要:一、桥梁模式的定义 桥梁模式也叫桥接模式,是一个比较简单的模式,其定义如下:将抽象和实现解耦,使得两者可以独立地变化。 桥梁模式的四个角色 Abstraction–抽象化角色 它的主页职责是定义出该角色的行为,同时保存一个对实现画角色的引用,该角色一般是抽象类。 Implementor–实现化角色
阅读全文
摘要:直播回访观看地址: http://play.itdks.com/watch/10045724 嘉宾如下(对这些嘉宾背景和经历感兴趣的,可以使用Google或Bing及百度搜索来了解他们,中间如云风、陈皓等都有自己的博客,通过阅读文章了解他们学习他们也是一种不错的方式): 他们共同推荐这本书: 这本书
阅读全文
摘要:一、享元模式的定义 享元模式是池技术的重要实现方式,其定义如下:使用共享对象可有效地支持大量的细粒度的对象。 享元模式的定义为我们提出了两个要求:细粒度的对象和共享对象。我们知道分配太多的对象到应用程序中将有损程序的性能,同时还容易造成内存溢出,那怎么避免呢?就是享元模式提到的共享技术。 要求细粒度
阅读全文
摘要:一、解释器模式的定义 解释器模式是一种按照指定规定语法进行解析的方案,在现在项目中使用较少,其定义如下:给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。 解释器模式通用类: (1)AbstractExpression–抽象解释器 具体的解释任务由各个实现
阅读全文
摘要:有些时候不小心git commit -m ‘提交信息’中的提交信息写错了。不怕,执行如下命令即可修改(注意,仅仅只能针对最后一次提交): git commit --amend -m "新的修改提交信息" 参考解决问题地址:https://www.softwhy.com/article-8492-1.
阅读全文
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
摘要:错误背景:使用Python2.7写一个简单爬虫报的错。 错误详细信息如下: UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128) 错误原因:1.pyth
阅读全文
摘要:一、状态模式的定义 当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类。 1.状态模式中的3个角色 (1)State–抽象状态角色接口或抽象类,负责对象状态定义,并且封装环境角色以实现状态切换。 (2)ConcreteState–具体状态角色每一个具体状态必须完成两个职责:本状态的行
阅读全文
摘要:一、访问者模式的定义 访问者模式是一个相对简单的模式,其定义如下:封装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。 角色职责 Visitor–抽象访问者 抽象类或者接口,声明访问者可以访问哪些元素,具体到程序中就是visit方法的参数定义哪些对
阅读全文
摘要:一、备忘录模式的定义 备忘录模式提供了一种弥补真实世界缺陷的方法,让”后悔药”在程序的世界中真实可行,其定义如下:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 通用类(三个角色) Originator发起人角色 记录当前时刻的
阅读全文