摘要: 2013年07月06日 19:43:00 阅读数:8853 阅读数:8853 概述: 未来机器智能化已然成为趋势,现在手机都能听懂英语和普通话,那我大中华几万种方言的被智能化也许也是趋势,我们的方言虽然和普通话相似,但是还是不一样的。这可能需要一个新的语法分析器来帮助我们。 我们的解释器模式就是描述 阅读全文
posted @ 2018-07-13 13:29 wxmwanggood 阅读(623) 评论(0) 推荐(0) 编辑
摘要: 概述 想想我们编辑文档用的wps,文档里文字很多都是重复的,我们不可能为每一个出现的汉字都创建独立的空间,这样代价太大,最好的办法就是共享其中相同的部分,使得需要创建的对象降到最小,这个就是享元模式的核心,即运用共享技术有效地支持大量细粒度的对象。 享元对象能做到共享的关键是区分内蕴状态(Inter 阅读全文
posted @ 2018-07-13 11:24 wxmwanggood 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 中介者模式:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式的例子很多,大到联合国安理会,小到房屋中介,都扮演了中间者的角色,协调各方利益。 本文就以租房为例子,如果没有房屋中介,那么房客要自己找房东,而房东也要 阅读全文
posted @ 2018-07-13 10:06 wxmwanggood 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 代码实现: 阅读全文
posted @ 2018-07-12 18:11 wxmwanggood 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 我们去餐厅吃饭,我们是通过服务员来点菜,具体是谁来做这些菜和他们什么时候完成的这些菜,其实我们都不知道。抽象之,“菜单请求者”我们和“菜单实现者”厨师,2者之间是松耦合的,我们对这些菜的其他一些请求比如“撤销,重做”等,我们也不知道是谁在做。其实这就是本文要说的Command模式。 将一个请求封装为 阅读全文
posted @ 2018-07-12 17:48 wxmwanggood 阅读(151) 评论(0) 推荐(0) 编辑
摘要: [DP]书上定义:将抽象部分与它的实现部分分离,使它们都可以独立地变化。考虑装操作系统,有多种配置的计算机,同样也有多款操作系统。如何运用桥接模式呢?可以将操作系统和计算机分别抽象出来,让它们各自发展,减少它们的耦合度。当然了,两者之间有标准的接口。这样设计,不论是对于计算机,还是操作系统都是非常有 阅读全文
posted @ 2018-07-11 17:14 wxmwanggood 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 单例的一般实现比较简单,下面是代码和UML图。由于构造函数是私有的,因此无法通过构造函数实例化,唯一的方法就是通过调用静态函数GetInstance。 代码实现: Singleton.h SignletonA.h SignletonB.h Singleton.cpp main.cpp 阅读全文
posted @ 2018-07-11 14:01 wxmwanggood 阅读(114) 评论(0) 推荐(0) 编辑
摘要: DP书上给出的定义:将对象组合成树形结构以表示“部分-整体”的层次结构。组合使得用户对单个对象和组合对象的使用具有一致性。注意两个字“树形”。这种树形结构在现实生活中随处可见,比如一个集团公司,它有一个母公司,下设很多家子公司。不管是母公司还是子公司,都有各自直属的财务部、人力资源部、销售部等。对于 阅读全文
posted @ 2018-07-11 11:28 wxmwanggood 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态[DP]。举个简单的例子,我们玩游戏时都会保存进度,所保存的进度以文件的形式存在。这样下次就可以继续玩,而不用从头开始。这里的进度其实就是游戏的内部状态,而这里的文件相当于 阅读全文
posted @ 2018-07-11 09:10 wxmwanggood 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 对象适配器有以下特点: 代码实现: 阅读全文
posted @ 2018-07-10 15:16 wxmwanggood 阅读(136) 评论(0) 推荐(0) 编辑