自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

筑梦者

努力ing

  • 博客(19)
  • 资源 (2)
  • 收藏
  • 关注

原创 纪录一下我看过的那些书籍

古语云:温故而知新.可谓道出学习的真谛.虽然读了很多书,写了很多博客,也不敢说都已经会了,只能说当时会了.而作为学习闭环的最后一个过程.温故是十分重要,故而写此篇博文,纪录那些我读过的书籍,忘有空暇时间,将其中值得再次品读的部分,好好回顾.1.技术类书籍<<设计模式>>GOF设计模式是一本经典书籍,值得多次阅读,但是初始阅读是不必苛求自己能深入...

2017-03-22 18:10:57 1186 2

原创 设计模式之访问者模式(Visitor)

意图:表示一个作用于某对象结构中的各元素的操作.它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作.适用性:1.一个对象结构包含很多类对象,他们有不同的接口.而你想对这些对象实施一些依赖于其具体类的操作.2.需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而你想避免让这些操作"污染"这些对象的类.3.定义对象结构的类很少改变,但经常需要在此结构上定

2017-03-29 22:37:34 461

原创 设计模式之模板方法(Template Method)

意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中.TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些步骤.适用性:1.一次性实现一个算法的不变部分,并将可变的行为留给子类来实现.2.各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复.3.控制子类扩展效果:1.模板方式是一种代码复用的基本技术2

2017-03-28 11:49:37 569

原创 设计模式之策略模式(Strategy)

意图:定义一系列的算法,把它们一个一个封装起来,并且使它们可相互替换.本模式使得算法可以独立于使用它的客户而变化.适用性:1.许多相关的类仅仅是行为有异.2.需要使用一个算法的不同变体.3.算法使用客户不应该知道的数据.4.一个类定义了多种行为,并且这些行为在这个类的操作中以多个条件语句的形式出现.效果:1.相关算法系列2.一个替代继承的方法3.消除

2017-03-27 15:36:32 495

原创 设计模式之状态模式(State)

意图:允许一个对象在内部状态改变时改变它的行为.对象看起来似乎修改了它的类.适用性:1.一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为.2.一个操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态.效果:1.它将与特定状态相关的行为局部化.2.它使得状态转化显式化3.State对象可被共享代码实现:

2017-03-23 19:21:46 404

原创 设计模式之观察者模式(Observer)

意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新.适用性:1.当一个抽象模型有两个方面,其中一个方面依赖于另一方面.将这二者封装在独立的对象中以使它们可以各自独立地改变和复用.2.当对一个对象的改变需要同时改变其他对象,而不知道具体有多少对象有待改变.3.当一个对象必须通知其他对象,而它又不能假定其他对

2017-03-22 17:41:35 306

原创 设计模式之备忘录模式(Memento)

意图:在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态.适用性:1.必须保存一个对象在某一个时刻的状态,这样以后需要时它才能恢复到先前的状态.2.如果一个用接口来让其它对象直接得到这些状态,将会暴露对象的实现细节并破坏对象的封装性.效果:1.保持封装边界2.它简化了原发器3.使用备

2017-03-20 19:02:01 312

原创 设计模式之中介者模式(Mediator)

意图:用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互.适用性:1.一组对象以定义良好但是复杂的方式进行通信.产生的相互依赖关系结构混乱且难以理解.2.一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象3.想定制一个分布在多个类中的行为,而又不想生成太多的子类.效果:

2017-03-17 20:25:53 398

原创 设计模式之迭代器模式(Iterator)

意图:提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示.适用性:1.访问一个聚合对象的内容而无需暴露它的内部表示2.支持对聚合对象的多种遍历3.为遍历不同的聚合结构提供一个统一的接口效果:1.它支持以不同的方式比遍历一个聚合2.迭代器简化了聚合的接口3.在同一个聚合上可以有多个遍历代码实现:实现了外部迭

2017-03-16 17:43:33 354

原创 设计模式之解释器模式(Interpreter)

意图:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子.适用性:1.该文法简单对于复杂的文法,文法的类层次变得庞大而无法管理.此时语法分析程序生成器这样的工具是更好的选择.它们无需构建抽象语法树即可解释表达式,这样可以节省空间而且还能节省时间2.效率不是一个关键问题最高效的解释器通常不是通过直接解释语法分析树实现的,而是

2017-03-13 20:40:02 309

原创 设计模式之命令模式(Command)

意图:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作.适用性:1.抽象出待执行的动作以参数化某对象.2.在不同的时刻指定,排列和执行请求.3.支持取消操作4.支持修改日志,这样当系统崩溃时,这些修改可以被重做一遍.5.用构建在原语操作上的高层操作构建一个系统.效果:1.command模式将

2017-03-10 17:33:44 328

原创 设计模式之职责链(Chain Of Responsibility)

使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止.适用性:1.有多个对象可以处理一个请求,那个对象处理该请求运行时刻自动确定.2.你想在不明确指定接受者的情况下,向多个对象中的一个提交一个请求.3.可处理一个请求的对象集合应被动态指定.效果:1.降低耦合度2

2017-03-09 16:41:10 343

原创 设计模式之代理模式(Proxy)

意图:为其他对象提供一种代理以控制对这个对象的访问.适用性:1.远程代理:为一个对象在不同的地址空间提供局部代表.2.虚代理:根据需要创建开销很大的对象.3.保护代理:控制对原始对象的访问.4.智能指引:取代了简单的指针,他在访问对象时执行一些附加操作.效果:Proxy模式在访问对象时引入了一定程度的间接性.根据代理类型,附加的间接性有多种用

2017-03-08 19:04:28 390

原创 设计模式之享元模式

意图:运用共享技术有效地支持大量细粒度的对象.使用性:1.一个应用程序使用了大量的对象.2.完全由于使用大量的对象,造成很大的存储开销.3.对象的大多数状态都可以变为外部状态.4.如果删除对象的外部状态,那么可以用相对较少的共享对象取代很多组对象.5.应用程序不依赖于对象标识.效果:使用flyweight模式时,.传输,查找或者计算外部状态都会产

2017-03-07 21:00:53 308

原创 设计模式之外观模式(Facade)

意图:为子系统中的一组接口提供一个一致的界面,facade模式定义了一个高层接口,这个接口使得这一个系统更加容易使用.适用性:1.当你要为一个复杂子系统提供一个简单的接口时.2.客户程序与抽象类的实现部分之间存在着很大的依赖性.3.当你需要构建一个层次结构的子系统时,使用facade模式定义子系统中的每层的入口点.效果:1.它对客户屏蔽子系统组件

2017-03-06 16:36:43 394

原创 设计模式之装饰者模式(Decorator)

意图:动态地给一个对象添加一些额外的职责.就增加功能来说,Decorator模式相对于生成子类更为灵活适用性:1.在不影响其他对象的情况下,以动态,透明的方式给单个对象添加职责.2.处理那些可以撤销的职责.3.当不能采用生成子类的方式进行扩充时.效果:1.比静态继承更灵活2.避免在层次结构高层的类有太多的特性3.Decorator与它的Compo

2017-03-04 18:34:37 363

原创 设计模式之组合模式(composite)

意图:将对象组合成树形结构以表示"部分-整体"的层次结构.composite使得用户对单个对象和组合对象的使用具有一致性.适用性:1.你想表示对象的部分-整体层次结构.2.你希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象.效果:1.定义了包含基本对象和组合对象的层次结构.2.简化了客户代码3.使得更容易增加新类型的

2017-03-03 21:04:03 333

原创 设计模式之桥接模式(Bridge)

意图:将抽象部分和它的实现部分分离,使他们都可以独立的变化.适用性:1.你不希望在抽象和它的实现部分之间有一个固定的绑定关系.2.类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充.3.对一个抽象的实现部分的修改应对客户不产生影响,即客户的代码不必重新编译.效果:1.分类接口及其实现部分2.提高可扩充性3.实现细节对客户透明代码

2017-03-02 15:47:12 295

原创 设计模式之适配器模式(Adapter)

意图:将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原来由于接口不兼容而不能在一起工作的那些类可以一起工作.适用性:1.你想使用一个已经存在类,而他的接口不符合你的要求.2.你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类协同工作.3.(适用于adapter对象)你想使用一些已经存在的子类,但是不可能对每一个都进行子类

2017-03-01 16:35:06 359

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除