05 2016 档案

摘要:职责链模式将对象的请求处理组成链式结构,并将请求按链式结构逐个传递下去,直接被其中的某个处理者处理为止。由此可知,职责链模式的适用场合是对指定请求,可以有多个请求处理者(或称为请求响应者),但用户并不知道(也不需要知道 此如做到请求者与响应者的解耦合)当时运行环境下该请求会被具体的哪个处理者处理(又 阅读全文
posted @ 2016-05-30 13:53 Jacc.Kim 阅读(173) 评论(0) 推荐(0)
摘要:代理模式是指为其他对象提供代理来控制对象的访问。这种手段有时候可以给我们带来许多好处。如:通过代理可以实现异步响应处理;通过代理可以起到保护或限制对象的使用的作用,从而提高安全性。 在设计上,用户使用代理对象与直接使用被代理对象,应该没什么差异。因此,代理对象的设计,需要实现被代理对象的相应接口。模 阅读全文
posted @ 2016-05-27 16:47 Jacc.Kim 阅读(174) 评论(0) 推荐(0)
摘要:享元模式的主要目的、意图是为对象的大量使用提供一种共享机制。该模式的思想重在复用、共享复用。像文字、列表中的格子等这类多数都是需要考虑复用技术,否则必将大量耗费内存空间而使资源以及性能等大量耗费。该模式的类关系图参考如下: 模式的编码结构参考如下: 1 namespace flyweight 2 { 阅读全文
posted @ 2016-05-27 14:41 Jacc.Kim 阅读(247) 评论(0) 推荐(0)
摘要:外观模式主要意图是为子系统提供一个统一的接口,从而使用用户对子系统的直接依赖中,解耦合出来。Facade主要是通过为子系统统一封装个入口一样,原先用户对子系统的接口、类等都是直接访问,现在要通过Facade这层封装来访问,它就好比是个中转站、一个杂货店一样。 软件工程中就提供多层设计,最常见的就是两 阅读全文
posted @ 2016-05-27 11:36 Jacc.Kim 阅读(294) 评论(0) 推荐(0)
摘要:装饰模式主要意图是为对象扩展额外的职责,但对于用户来说,在使用行为上并没有任何的变化。在此举一个例子来解释该模式的含义。假如你手上有一张照片,此时可以给它盖上一片玻璃片,同时再套上一个精美的相框。如此相片就更好看同时又被更好地防护起来。此处的玻璃片以及相框,对于原来的照片来说,都是起到一个装饰的作用 阅读全文
posted @ 2016-05-27 10:39 Jacc.Kim 阅读(239) 评论(0) 推荐(0)
摘要:组合模式意在将对象组合成树形结构以表示部分与整体的层次结构关系,并且用户对单个对象的操作以有对组合对象的操作都是一致的。即:组合对象 is-a 单个对象,同时又可以组合着 n 个的单个对象(甚至于其他组合对象也可以)。当对一个组合对象执行某行为会被转化为对其所组合的 n 个对象进行操作。一个组合对象 阅读全文
posted @ 2016-05-25 16:14 Jacc.Kim 阅读(132) 评论(0) 推荐(0)
摘要:桥接模式是为了将对象的抽象与实现分离,使得它们可以独立变化。简简单单的一句话,却已经是站在了更高抽象层面上来看待、设计、解决问题。平常我们多是对具体问题进行分析、抽象,然后就开始设计,这对多数情况下基本完全够用,毕竟实际项目中的功能模块都是找一“最优解的"实现来解决掉问题,把功能设计出来即可。这种情 阅读全文
posted @ 2016-05-25 12:05 Jacc.Kim 阅读(179) 评论(0) 推荐(0)
摘要:Adapter模式主要意图是将类或接口转换成客户期望的接口,从而使得原本不兼容、无法在一起工作的接口可以在一起工作。该模式有两种形式的Adapter法,一是继承方式;二是对象关联依赖方式。 继承方式Adapter法,相比之下,耦合性更强些,并且毕竟依赖于静态继承,如果被适配的对象有多个(派生)版本的 阅读全文
posted @ 2016-05-25 10:18 Jacc.Kim 阅读(258) 评论(0) 推荐(0)
摘要:生成器模式的主要思想:将产品对象的创建与表现分离开,并且同样的创建过程可以有不同的产品表现。 直白一点可以理解为:待创建的对象是复杂的,一般情况下是需要经过多个步骤的创建后,最终才能将完整产品创建好,而且每个步骤所创建的都只是产品的一部分而已。这一切的创建步骤,由统一的执导者来完成,称之为:Dire 阅读全文
posted @ 2016-05-23 21:06 Jacc.Kim 阅读(182) 评论(0) 推荐(0)
摘要:原型模式主要是用原型实例指定创建原型对象的种类,并且通过拷贝原型创建新对象。最简单的理解就是克隆。就如cocos2d-x中的 class Clonable::clone();该模式的主要目的是可以在运行时,随时创建出某个对象的副本,并且副本具有与本体一样的状态信息。类图参考如下: 模式的编码结构参考 阅读全文
posted @ 2016-05-18 20:33 Jacc.Kim 阅读(144) 评论(0) 推荐(0)
摘要:单例模式可以说是所有23种设计模式中最为简单的一个,没有之一。其主要思想就是保证整个应用环境中,最多只会有一个对象的实例。类关系图参考如下: 在c++中,单例模式的实现,较为常用的实现方式一般为: 1 namespace singleton 2 { 3 /********************** 阅读全文
posted @ 2016-05-17 20:31 Jacc.Kim 阅读(173) 评论(0) 推荐(0)
摘要:本文主要介绍简单工厂模式与抽象工厂模式。以下如有叙述不当之处,欢迎批评指正,欢迎交流探讨。 一:简单工厂模式 在23种设计模式中,简单工厂模式其实是不在列的,但理解该模式对于抽象工厂模式的思想理解是有帮助的。就纯粹从字面上理解,简单工厂模式就是一种简单版的工厂模式。在日常开发过程中,相信绝大多数人都 阅读全文
posted @ 2016-05-17 10:10 Jacc.Kim 阅读(297) 评论(0) 推荐(0)
摘要:原本是在一张纸上画出了红黑树插入操作的所有情况的演变图示,但前两天将删除操作写到博客上,因此想来,索性就将插入操作也一并写上,以免日后图纸丢失,也方便大伙共同研究,学习。 红黑树的插入操作 1:节点命名约定 N表示新添加的节点。即:取 New 的首字母; P 表示父节点。即:取 Parent 的首字 阅读全文
posted @ 2016-05-07 14:03 Jacc.Kim 阅读(964) 评论(0) 推荐(0)
摘要:查阅了很多的资料,最终把红黑树的删除操作弄明白。为方便日后温习,也为那些正想弄明白但又苦苦明白不了该操作详细原理的同学查阅,特将其当笔记记录下来。下面内容是个人所理解的红黑树的删除操作,如果有不对的地方,欢迎各路大神指正。 红黑树的删除操作 1:节点命名约定 D表示要被删除的节点。即:取 Delet 阅读全文
posted @ 2016-05-05 09:36 Jacc.Kim 阅读(18501) 评论(30) 推荐(6)
摘要:在bat文件中声明变量的方式如下: set xxx_variant_name=yyyyyyyyyyyy move D:\abc\efg\test.txt %xxx_variant_name%\test.txt 说明: 01.set 那句是声明变量 xxx_variant_name,并给该变量赋值 y 阅读全文
posted @ 2016-05-03 20:38 Jacc.Kim 阅读(6969) 评论(0) 推荐(0)
摘要:在传参情况下,取得bat文件所在的目录路径,可以使用: %~dp0 说明: 01.所谓传参情况是指,将某个文件拖放到bat文件上并放开。此种情况下执行的bat命令就是有带参数的。 02.上面末尾的0是指第0个参数,其实就是bat文件自己 03.[推广]如果想取得被拖放的文件所在的目录,则可以使用 % 阅读全文
posted @ 2016-05-03 20:34 Jacc.Kim 阅读(593) 评论(0) 推荐(0)
摘要:使用bat命令转到指定的盘符路径: cd /d xxxx目录路径。 例如:cd /d D:\abc\efg 则是转到D盘的abc目录下的efg目录处.其中 /d 是指:无论当前bat是在哪个盘符中,都必需强制转向指定的目录处 阅读全文
posted @ 2016-05-03 20:28 Jacc.Kim 阅读(705) 评论(0) 推荐(0)
摘要:使用批处理判断某个目录是否存在的语句. if not exist xxx_folder_name md xxx_folder_name 阅读全文
posted @ 2016-05-03 20:25 Jacc.Kim 阅读(2063) 评论(0) 推荐(0)