- 博客(20)
- 收藏
- 关注
转载 设计模式之访问者模式
大多时候并不需要访问者模式,担当一旦你需要访问者模式时,那就是真的需要了。事实上,我们很难找到数据结构不变的情况,所以用访问者模式的机会也就不太多。
2017-08-07 20:09:26 196
转载 设计模式之解释器模式
1. 解释器模式:给定一个语言,定义它文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。比如:在字符串中搜索匹配字符或判断一个字符串是否符合规定格式。
2017-08-07 10:01:52 172
转载 设计模式之里氏代换原则
1. 里氏代换原则: 继承包含这样一层含义:父类中凡是已经实现好的方法(相对于抽象方法而言),实际上是在设定一系列的规范和契约,虽然它不强制要求所有的子类必须遵从这些契约,但是如果子类对这些非抽象方法任意修改,就会对整个继承体系造成破坏。而里氏替换原则就是表达了这一层含义。
2017-08-04 20:26:28 224
转载 设计模式之合成复用原则
聚合,表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分;合成,表示一种强的“拥有”关系,体现了严格的部分和整体关系,部分和整体的生命周期一样。比如说:大雁有两个翅膀,这就是合成关系。大雁和雁群,是聚合关系。
2017-08-04 17:40:38 511
转载 设计模式之享元模式
1. 享元模式:运用共享技术有效地支持大量细粒度的对象。 享元模式可以避免大量非常相似类的开销。在程序设计中,有时需要生成大量细粒度的类实例来表示数据。如果能发现这些实例除了几个参数外基本上都是相同的,有时就能够大幅度的减少需要实例化的类的数量。如果能把那些参数移到类实例的外面,在方法调用时将他们传递进来,就可以通过共享大幅度减少单个实例的数目。
2017-08-04 16:49:02 148
转载 设计模式之职责链模式
职责链模式注意:比较长的方法,多条的分支,这些其实都是代码的坏味道。1. 职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。
2017-08-03 19:45:41 182
转载 设计模式之命令模式
1. 命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销操作。
2017-08-03 17:01:20 225
转载 设计模式之桥接模式--合成复用原则
1.合成/聚合复用原则:尽量优先使用合成/聚合,尽量不要使用类继承。盲目使用继承会造成麻烦。所以在使用继承时,一定要在是“Is-a”的关系时,再考虑使用。手机软件显然不是一个,即不是a,所以不能从手机品牌向下继承。如下图是不对的。
2017-08-02 22:31:32 502
转载 设计模式之组合模式
1. 组合模式:将对象组合成树形结构以表示‘部分---整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。
2017-08-01 16:52:22 179
转载 设计模式之备忘录模式
1. 备忘录模式:备忘录:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。
2017-08-01 11:27:12 178
转载 设计模式之适配器模式
1. 适配器模式:对象适配器将一个类的接口转换成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。简单来说,就是需要的东西就在面前,但却不能使用,短时间内又无法改造它,于是我们就想办法适配它。翻译就是一种适配器。可以让不会英语的人听懂说英语人的意思。
2017-08-01 10:25:20 140
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人