Vigee's profile闻到清香 --童话爱情PhotosBlogLists Tools Help
Photo 1 of 1
No list items have been added yet.
November 03

大家帮我想个宝宝的名字吧

我家的宝宝马上就要出生了,大家帮我想想了。

我先前想过的简单名字比如: 包小玉,包小瑜,包语文,包语轩,包若愚,包君坦,包百安,包安馨,包余玫,包不凡

vivi 想的名字比如:包一凡,包依钒,包宜轩,包乐乐,包嘟嘟

老爸想的名字:包自冲,包自钊,包继文,包继武,包汗文,包汗卿 / 包翔文,包翔竹,包竹文,包竹屹,包雅文,包怡冲

September 24

Terry 我们一起加油吧

越来越意识到Terry在对我们的重要性了,已经成为我们的一部分。很想知道他在干什么?会不会听vivi的话?多动的他到底是开心还是在不舒服?还有到底会长什么样子?Kitty说像我就比较麻烦了,呵呵。
当然最近也有些事对我来说不重要,那就是抱怨。抱怨是所有不愉快的来源。
September 17

结婚记事

6.1 我和vivi去世纪公园拍了婚纱照,碰到一个热心的澳洲的老妇人,问我们是不是当天结婚,说vivi很漂亮,要给我们照一张,最后我和vivi都很难给她解释婚纱照这个概念,只能告诉她,Just for memory.
 
6.20 在金桥举行了vivi的出嫁礼,大多是vivi家的亲戚,还有我的同学和几个上海的朋友。第一次在两百人面前介绍我自己还是比较紧张的。声音急促又抖动,太想讲好了。
因为宴会上80%的人不认识我,更不说了解我了,所以我就借用开场白,让大家了解我。了解我是谁,从哪里来,都干了些什么,为什么会出现在这里,而且还要娶走她们美丽的vivi.
有个表哥说:我的妹妹的真得很好,要好好照顾她
 
8.17 在庆阳西峰举行了我的迎娶礼,vivi认为我披着红绸缎来接她的样子太好玩了。这就是传统给我们的快乐。晚上特意给上海的客人请来了皮影戏。最后还给vivi放了烟花。当然晚上还有传统的闹洞房,也好玩。 期间还严肃的讨论一个问题,那就是如果小两口有分歧,应该怎么解决。为什么说严肃呢,因为观众很认真。其实,遇到这种情况,一般vivi都很理智,不和我吵,很容易引到我换个角度思考,所以很快就过去了。
 
我和vivi都享受结婚的过程。
June 06

结婚了

3.23 vivi终于答应嫁给了我

3.31我和vivi在老家西峰举行了传统的订婚,“金定之约”

5.6 (农历四月十二)领证,成为中华人民共和国的合法夫妻

6.20 我们认识3周年

January 11

你安静地看着我读书

很少这么惬意过。

你安静地躺在床上看着我,

不在乎你是否是静止的,你关注的眼神让我享受。

我听着清澈的班德瑞;

我也听着悠扬的神秘园;

偶而也有天使般的恩雅;

看着Know can do的故事.

一切都这么让我陶醉,但是,我仍忍不住瞟你一眼,

你还在注视着我.

宝贝,我爱你,这是我现在最想对你说的。

你没有眨一下眼。

宝贝,我说过我喜欢看你看书,

因为那时候的你那么美丽,那么楚楚动人,

而现在你看到是一个躲在被窝的懒虫。

亲爱的,布兰佳在给我讲如何学习,如何将学的东西变成自己的能力;

他和他的朋友现在告诉我的办法是重复,不断的重复,直到变成你的一部分。

宝贝,你还在那里,依然像正在盛开的花一样,你的眼神像穿过教堂的斜阳照在我身上,

宝贝,我现在已经无法从你视线里逃课了,我只想给你重复一句话:

我爱你

我爱你

我爱你直道永远

宝贝,我想吻你,你知道这不可能,一层薄博的屏幕隔住了我们。

感谢你送给我那张亲切的照片。让这一切的美好变成了永恒。我爱你。

December 28

又一年

年初在欣赏了南国罕见的雪景后,孤独地我迎来了在外的第一个春节,有人说除夕前我留下了可怜的泪水,其实那是惭愧之泪,对不起煮起饺子等我回家的父母。这样泪水上九年前的那个冬天,六年前的春天,我都在异乡流过。

除夕晚上,和薇薇第一次聊到两个人都熟睡了,新的一年就这么无声无息中安慰着这两个异乡的游子。

然后春天来临之前,陪文博在钱塘江边,一起放风筝。每次看到文博,总能感觉生活还有希望,这就是生命繁衍的魅力。

就在遥远的,曾经信奉过某人大便的地方,人们为信仰徘徊的时候,我踩到了大便,误打误撞地过上了村长的生活。以后的两个月,我就在苦心研究一个叫做村长的自我修养的书。 尽管我是因为踩大便而感觉隐隐的不安,但很多人也有各自不同的不安,伴随着不停的餐桌上的喧哗,让这样的日子终于走到了尽头。

五月的到来,该结束的还是结束了,虽然痛苦于3年的努力灰飞烟灭,但是了断,也就有了希望。接下来的地震,沉痛的情绪几乎麻木我的全部神经。就在大家又开始重视生命的意义的时候,我也回归了PC Link.

在这段日子里,切尔西失去了小岛和陆地的所有荣耀。

虽然还是老本行,但是还是艰难地适应了两个月。期间,第一次遇到了村长危机,我开始反省自己的人品。有时候我逃避这种思考,把在自己埋在编码中。最后形成了一种惰性,那就是:如果这件事做不好,那就把同时存在其它事做得很好。

整个夏天我都在加班,就连薇薇大老远回来看我的日子,也没有忘记。事情就是这么讽刺,薇薇从日本回来,而我却为日本的项目,忙得没有时间陪她。在项目就要结束的时候,我却已经送走了她。

回忆这段日子,我也能想起谋子的大场面和五个蛋蛋,一个肥皂泡泡在它最美丽的时候,正如预期的一样破了。

9月份,回了一趟西安,看到朋友们过着有娃有房的生活,真得很高兴。中秋在家和父母过,第一次陪母亲一起看秦腔,很享受。10月份,第一次看到东北的广袤的田野,非常喜欢,感叹怎么就有那么一块平坦的大地。

就在气候宜人的秋天,地球另一端的聪明人搞出了一场灾难,突然间袭击了我们生活,人们开始思考消费方式和工作态度,当然也有茫然,同时读了一本叫做村长大未来的书。

这一年的最后几天我在思考,什么才是村长职责。

October 24

Forever in Blue Jeans-心中永远的蓝

Forever in Blue Jeans-心中永远的蓝
--中文歌词:
金钱拥有至上的话语权
但却无法用有生命
无法舞动你我的人生
当你与我同在
我宁愿选择
追随这永恒的蓝
糖果具有诱人的甜香
它几乎一度令我迷失方向
如果你能宽恕我
我想对你说
我们将这抹蓝色
当作心中永远的信念
也许今晚
也许今晚
在唯有你我守候的篝火旁
任凭我的心跳
伴随着你的呼吸
金钱可以满足你无限的欲望
但它永远无法主宰我们的人生
只要我还有继续追随你的力量
我就会与你相伴
永远守护这神圣的蓝
糖果具有诱人的甜香
它几乎一度令我迷失方向
如果你能宽恕我
我想对你说
我们将这抹蓝色
当作心中永远的信念
也许今晚
也许今晚
在唯有你我守候的篝火旁
任凭我的心跳
伴随着你的呼吸
金钱可以满足你无限的欲望
但它永远无法主宰我们的人生
只要我还有继续追随你的力量
我就会与你相伴
永远守护这神圣的蓝
如果我能得到你的宽恕
我只想大声宣告
我们将永远把这蓝色视为生命
只要我还有守候在你身边的力量
我就会永远效忠于你、
效忠于这神圣的蓝
 
感谢C5的推荐
August 26

<无忧无虑>

最近看了一部剧情片 《无忧无虑》
一个心灵很美,喜欢给别人带来快乐的女孩,却时常被人误解。
可是她依旧坚持着,而且开心的过着每一天。
我相信很多人对别人的好意,都误解过,将别人的好意理解为好感,从而伤害了自己。
 
August 23

上帝保佑

听到vivi虚弱的声音,我都傻掉了,麻木地看到这次通话只有16秒,然后陷入了无助。

每次看到亲人家人痛苦,我都宁愿自己承担,因为对于你们的爱大于任何痛苦。

vivi送到医院后稳定了下来,祈求上帝保佑她。

July 25

我不是好人

评价自己是不是好人,是一件很复杂的事。当你不触犯别人的利益的时候,你永远都可以是个好人,但是当你开始会影响别人的利益时,你便开始伤害别人,你就很难再成为好人。

开始听到别人说我不是好人的时候,有点不自在,怀疑自己。现在想来,是不是好人不重要,重要的做什么样的事。自古君子坦荡荡,小人长戚戚。

麻雀虽小,五脏俱全。不要嫌小,它也得把它该干的事给做了,否则,只有叫着被饿死。

《教父》中有句话很受用:不要把你自己的想法说出来。

最近工作很忙,倒也不介意加班,但是胃不舒服,还有事做不好,让我比较不爽。

July 12

安全移除USB设备的函数

SetupDiGetClassDevs((LPGUID)&GUID_CLASS_USB_DEVICE, 0, 0, DIGCF_PRESENT | DIGCF_DEVICEINTERFACE)
//获得所有USB设备
SetupDiEnumDeviceInfo
//枚举每个设备
SetupDiGetDeviceRegistryProperty
//获取设备的名称 需要两次,一次是缺的长度,一次是实际Get
CM_Request_Device_EjectA
//安全移除设备
extern "C" {   
#include "hidsdi.h"   
}                 // 需加入hid.lib 
#include <setupapi.h>            // 需加入setupapi.lib
#include <regstr.h>
#include <winbase.h>
#include <cfgmgr32.h>            // 需要加入cfgmgr32.lib
#include <initguid.h>
//偶然的一次查询,以此标记,以便自己记忆。非我原造
June 29

《中国人史纲》

今天看完了这本书,感觉好像和Maya回顾了一下中国的历史。

是因为Maya喜欢柏杨,我才看了这本书的。了解一下朋友喜欢的东西,就像和朋友又聚会过一次一样,是一种很好的体验。

其实两千多年以来,困扰中国人的东西,很多依然影响着现在的人。所以柏杨说中国在二十世纪给整个人类文明的贡献几乎为空白。再看看那些历史上的革新者,无一幸免于迫害,如果去除了社会环境的因素外,难道不是我们整个民族的悲哀吗?儒家在给我们带来礼仪之邦的同时,严重的束缚了国人在人权上的想象力。一个民族没有消亡本身就可以视为伟大,但是不是伟大到所有细节和未来依然伟大。

May 19

哀悼地震受难者

哀悼那些受难的同胞
帮助那些受伤和失去亲人的同胞
好好活着,每个人!

May 03

第五项修炼

今天看完了黄杲推荐的《第五项修炼》,感觉不错,可惜我看得太慢,到了今天才看完。

现将其中提到的黎巴嫩诗人Kahlil Gilbran的诗歌摘录如下:

你的孩子并不是你的。
他们是对生命本身充满渴望的儿女。
他们是经由你来到这个世界,但不是出自于你。
虽然他们和你在一起,但他们并不属于你。
你可以给他们你的爱,但不是你的思想,因为他们有自己的思想。
他们身体居住在你的屋子里,但是他们的灵魂却不是。
因为他们的灵魂居住在明日之屋,甚至在梦中你也无法前去那儿探访。
你可以尽力使自己变得像他们,但是尽力不要使他们像你。
因为生命不会倒流,也不会伫足在昨日。
你是弓,经由你射出子女的生命之箭。
神箭手瞄向无穷元的标的,以他的神力将你拉弯,把箭射得又快又远。
人拿神箭手将你弯满,那是一种真正的喜悦。
因为,一如他喜欢飞快的箭。他也同样喜爱沉稳的弓。

也感谢这本书,中文版最早是繁体字。

April 30

Linux,一个美丽的误会

Linux是不是一个美丽的误会,也许需要未来来证明,在花费了我们三年的心血和汗水后,它走到了尽头。情绪是复杂而伤感的,但是内心还是告诉我应该更职业的面对这样结局。

同事Zo对于“收编”看得很悲观,认为会低人一头。的确,肤浅的人可能会这样对我们,但是,对于我们自己应该更加自信,智能手机部做人做事的方式,和它所创造团队文化,永远是我们应以为豪的。即便智能手机部不存在了,但是作为曾经的一员,我们理应挺起胸膛做人,做Smart人。至于我们产品没有得到认可,除了环境外,只能是管理者和规划者错误,不要因此而怀疑自己。

同事Ho,对于我这个没有转正的主管,感到同情,认为这是一件郁闷的事。其实,我自己看得很简单,坚持没有假设的把事情看得简单,做得好。在过去的两个月,自认为做了些有意义的事。努力让大家发现自己的价值,规划自己的未来,不管是否对大家有用,但至少我在真诚地对待这个过程。

至于未来,我认识是有希望的。即便如许默默说的,“换一个地方就像死过一次”,那么,我们也多了一次重新“活”的机会。邓华说,适应新工作是一个挑战,我们又何尝要错过这个挑战的机会呢。

最后,同事Lo说,我们现在很像 《士兵突击》“刚七连”解散的样子,虽然已经看过两遍,但因为现在的感受,Lo坚持要看第三遍。我同意他的观点,因为我和他一样是一个感情丰富,而且愿意表达感情的人。

当同事变成朋友的时候,我要告诉这些朋友,永远去追求自己的理想,做自己喜欢的事,做有意义的事。

April 26

<立春>

----电影对白摘要

每年春天一来,我的心里总是蠢蠢欲动
总认为春天会发生什么大事,
当春天结束的时候,我却发现什么都没有改变。

我不愿意在这个城市发生爱情
却一直孤独的生活在这个城市。

歌者:我一看见你,就觉得可亲近了,你真像个赤子似的
舞者:你高看我了,你不知道我是这个城市的一桩丑闻
歌者:那是因为你比一般人勇敢
舞者:是的,我这么一个不正常的人,还死皮赖脸的活着
歌者:你挺正常的
舞者:正常?我是很多人心海里的一个悬案
....
歌者:能人是你我都有勇气在这个城市里黑呆下去了
舞者:我一直以为,时间长了这个城市会习惯我,但是我发现,我一直像根鱼刺一样,扎在很多人的嗓子里,我真是个怪物
歌者:我也这么想过
舞者:看到我别人看我跳舞的眼神,我真像一头撞死

宁尝鲜桃一口,不吃烂杏一筐

你可能忘了我毕竟是个女人

April 15

职业发展战略与策略

最近看了一些关于职业发展规划的书,有些感觉确实不错,所以作了读书笔记,大家参考
职业发展战略与策略
---From 《Applying Psychology》
 
分为两部分,第一部分是如何控制自己的行为,第二部分则涉及如何控制外部环境
通过控制自己来发展职业:
1.制定一套专业道德规范,也就是对待人和事的价值观,比如收受贿赂,中伤同事,骚扰;
2.准确的进行自我评价,也就是确认自己的优势,可改进的地方以及偏好;
3.培养专业技能与热情,并围绕其构筑职业生涯。专业技能,热情以及有效的道德规范能为你赢得赞誉,你的声誉越好,你在职业生涯中投入的时间,精力以及金钱的回报就越大。一位硅谷的企业家兰迪.科米萨(Randy Komisar)说过:“不要让职业推着你走,而要让热情来引导你的人生。也许热情无法帮你高升,但它能让你漫长而曲折的旅途变得妙趣横生。”
4.获得优秀的工作业绩;
5.在持续学习与自我发展中不断成长,不仅可以提高工作业绩,也可以保障就业不受威胁;
6.记录你所取得的成就。有形的,可以量化的成就比他人对你的成绩的主观印象更管用。这样晋升和分配任务时,就可有备无患,而且也可以体现在简历上;
7.塑造专业形象。注意着装,办公桌,谈吐以及综合知识,会给人一种专业负责的形象。
8.尽量减少职业发展中的自我挫败行为。工作拖沓是自我挫败行为的首要形式,它会毁掉一个人的职业生涯。
职业发展中自我挫败行为的普遍形式:
      a.拖延(直到落下不可靠名声的地步)
      b.自我挫败的生活轨迹(正当事情顺利时,一次又一次把事情搅乱)
      c.自我陶醉(太想被人喜欢以至于避免必要的对抗)
      e.情感不成熟(此人判断力低下,且扮演办公室小丑的角色)
      f.自我挫败的信念(对自己太多的负面评价)
      g.不现实的期望(此人的目标太高,以至于不可避免地会失望和气馁)
      h.报复(因老板给自己的加薪太少或者业绩评价太低,此人试着去报复老板)
      i.吸引注意力(此人愿意做任何事情以引起注意,包括渴求管理层)
      j.寻找刺激(为了追求刺激,此人可能擅自使用公司的设备)
      k.太多次的旷工与迟到(此人落下不够专业与对职业没有兴趣的名声)
      l.与有权的人交锋(此人与有能力破坏其职业生涯之人的争论太过频繁)
      m.负面情绪太强,以至于此人无法听取建设性的批评意见,久而久之,这个人将得不到任何有益的反馈
通过对环境施加控制来发展职业
1.确定成长型领域与成长型公司
2.获得广泛的经验
3.主动承担有价值的风险(承担风险的目标应该是锻炼自己的才干,而不只是为了特立独行)
4.找到一位导师,该导师应该提供的服务
      .作为积极的模范和可以信赖的朋友
      .分享他们的知识和经验
      .指导培训生了解自己行为的结果
      .鼓励培训生自己解决问题,而不是直接教授解决方案
      .分享关于组织内各种机会的信息
      .用超越公司的眼光指导培训生做好职业发展方面的抉择,比如选择另一家公司
      .让培训生看到自己的进步
      .在不泄密的德前提下倾听问题
5.运用你的关系网络,培养职业生涯的朋友,同伴
6.培养前瞻性人格。前瞻性人格是指一个相对不受情境因素的左右,并能改变环境的特性。具体表现如;积极进取,即主动解决问题的人。
March 09

《赎罪》

虽然有人在为自己的过错赎罪,但是那些受到伤害的人,更应该坚强的生活下去。

--这是一部摄影和配乐都很特别的片子。

February 29

《流言蜚语》

这是一个电影的名字,其中有些台词不错,摘录如下

女:爸爸,我不明白,我和你有那么多不同的地方,比如我开车像疯子,而你永远开很慢...
父:我开得慢是因为在车里有你和我在一起

女人犯措时
男:我想的是“结婚”,永远在一起,而不是凑合,或者犹豫,或者等待更合适的人选
女:我想下个月就嫁给你,想下个星期就嫁给你,想明天就嫁给你,想出了这间房子就嫁给你
男:这不可能挽回了
女:我爱你,现在出现在你面前并不表示没有你我就活不下去,相反没有你,我能活下去,我只是不想失去你
男:... ...(沉默)

结束的旁白:
在纽约一月一个寒冷的夜晚,这个男人和这个女人睡在了一起,第二个夜晚他们仍然一起睡,然后又一个晚上,...一个晚上接着一个晚上

February 28

设计模式备忘录

旨在帮我记住这些模式,摘录如下:

Factory Pattern‏ 也叫 Factory Method 工厂方法
意图:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类
注意点:1.工厂模式的子类实例化指工厂类的子类实现创建不同的产品类
2.一个工厂仅限于一个产品

Abstract factory‏
意图:提供一个创建一系列相关或者相互依赖对象的接口,而无需指定它们具体的类
关键就是将这一组对象的创建封装到一个用于创建对象的类,维护这样一个创建类总比维护n多相关对象的创建过程要简单的多

Singleton 单件
意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点
注意:Singleton不可以被实例化,因此我们将其构造函数声明为protected或者直接声明为private


Builder 生成器
意图:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示
注意:Director的Contruct通过参数决定Builder的BuildPart创建不同的表示
Builder和AbstractFactory的区别:Builder模式强调的是一步步创建对象,并通过相同的创建过程可以获得不同的结果对象,一般来说Builder模式中对象不是直接返回的(Director返回结果对象)。而在AbstractFactory模式中对象是直接返回的,AbstractFactory模式强调的是为创建多个相互依赖的对象提供一个同一的接口。


Prototype 原形
意图:用原形实例指定创建对象的种类,并且通过拷贝这些原形创建新的对象
注意:关键就是(C++中)拷贝构造函数的实现方式,深拷贝
Builder,AbstractFactory,Prototype的区别:Builder模式重在复杂对象的一步步创建(并不直接返回对象),AbstractFactory模式重在产生多个相互依赖类的对象,而Prototype模式重在从自身复制自己创建新类

Brigde 桥接
意图:将抽象部分与它的实现部分分离,使它们都可以独立变化
注意:Abstraction 使用 Implementor的对象,RefinedAbstrcation 和 ContcreteImplementorX 都可以独立变化。
多方观点:通过对象组合实现用户需求,Favor Composition Over Inheritance;将一组实现和另一组使用它们的对象分离;为所有实现定义一个接口,供抽象类的所有派生类使用。
“桥”--连接两岸,当然桥imp是活动的,两边都可以搭在不同地方Implementor,但是必须有可以搭在的地方,也就是接口一致

Decorator 装饰 包装器 Wrapper
意图:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。
注意:“装饰”意在保证Compenent接口一致,在原来接口的基础上包一层相同的接口,但是增加了额外的功能,或者说,把“装饰”的变化和 ConcreteComponent的变化分开,而且装饰可以套装饰,这个在生成子类不是那么容易。
Decorator和Adapter的区别:Decorator模式仅改变对象的职责不改变它的接口;而适配器将给对象一个全新的接口。
Decorator和Strategy的区别:Decorator可以改变对象的外表;Startegy模式使得你可以改变内核


Proxy 代理 Surrogate
意图:为其他对象提供一种代理以控制对这个对象的访问
注意:Proxy模式最大的好处就是实现了逻辑和实现的彻底解耦
Proxy 和 Decorator的区别: 都提供一定程度上的间接引用,Proxy和Decorator实现时都保留了指向另一个对象的指针,然后向这个对象发送请求。它们具有不同的设计目的。Decorator 动态地添加或者分离性质,而且可以递归嵌套。而Proxy,当直接访问一个实体不方便或不符合需要时,为这个实体提供一个替代者。在Proxy模式中,实体定义关键功能,而Proxy提供(或者拒绝)对它的访问。而Decorator只负责部分功能,不关心全部功能。


Composite 组合
意图:将对象组合成树形结构以表示“部分-整体”的层次机构。Composite使得用户对单个对象和组合对象的使用具有一致性。
注意:Component提供一致接口,Leaf为具体单个对象,Composite为组合关系,接口一致方便递归调用。
Composite 和 Decorator的异同:Decorator 是一个退化的Composite, 都是可以递归组合,但是目的不同。Decorator旨在不需要生成子类即可给对象添加职责,避免静态实现所有功能组合。而Composite旨在构造类,使多个相关对象能够以统一的方式处理,而多重对象可以被当作一个对象来处理。重点不在修饰,而在表示。

Flyweight 享元
意图:运用共享技术有效地支持大量细粒度的对象
注意:适用大量对象重复使用,FlyweightFactory提供一个pool 对象“仓库”,并共享每个对象。


Facade 外观
意图:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用
Facade与Mediator的区别:Mediator 负责相关对象间的交互,为交互提供高层接口,而Facade为子系统提供高层接口。


Template Method 模板方法
意图:定一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
注意:DIP(依赖倒置:Dependency Inversion Principles),AbstractClass提供Method,而这个Method只是一个Template

Strategy 策略
意图:定义一系列的算法,把它们一个个封装起来,并且使它们可以互相替换。本模式使得算法可独立于使用它的客户而变化
注意:Context将算法委托给一个Strategy,ConcreteStrategy实现可以互换的算法
Strategy和Template的区别:Strategy模式和Template模式实际是实现一个抽象接口的两种方式:继承和组合之间的区别。
再次强调:Favor Composition Over Inheritance
继承:
优点
1)易于修改和扩展那些被复用的实现。
缺点
1)破坏了封装性,继承中父类的实现细节暴露给子类了;
2)“白盒”复用,原因在1)中;
3)当父类的实现更改时,其所有子类将不得不随之改变
4)从父类继承而来的实现在运行期间不能改变(编译期间就已经确定了)。
组合
优点
1)“黑盒”复用,因为被包含对象的内部细节对外是不可见的;
2)封装性好,原因为1);
3)实现和抽象的依赖性很小(组合对象和被组合对象之间的依赖性小);
4)可以在运行期间动态定义实现(通过一个指向相同类型的指针,典型的是抽象基类的指针)。
缺点
1)系统中对象过多。
说明:来源于K_eckel的设计模式精解

State 状态 Objects of States 状态对象
意图:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。
注意:行为取决于状态,将分支放入一个State对象,Context和State可以独立变化。
State和Strategy的区别:State模式主要是要适应对象对于状态改变时的不同处理策略的实现,而Strategy则主要是具体算法和实现接口的解耦(coupling),Strategy模式中并没有状态的概念(虽然很多时候有可以被看作是状态的概念),并且更加不关心状态的改变了。
State模式很好地实现了对象的状态逻辑和动作实现的分离,状态逻辑分布在State的派生类中实现,而动作实现则可以放在Context类中实现(这也是为什么State派生类需要拥有一个指向Context的指针)


Observer 观察者 Dependents 依赖, Publish-Subscribe 发布-订阅
意图:定义对象间的一种 一对多 的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都能得到通知被自动更新。
注意:Subject管理一个ConcreteObserver的List,Notify时调用每个Observer子类对象的Update。
k_eckel 认为Observer模式是软件开发过程中必须要掌握和使用的模式之一


Memento 备忘录 Token
意图:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态
注意:Memento的接口为private,所以原则上增加Memento没有破化封装性,通过将Originstor申明私有友元类,这样Originstor就可备份state了。Caretaker负责state的存放。

Mediator 中介者
意图:用一个中介对象来封装一系列的对象交互。中介者使个对象不需要显式地相互引用,从而使得其耦合松散,而且可以独立地改变它们之间的交互
注意:每个Colleague都知道它的Mediator或者ConcreteMediator,每个Colleague知道需要和其他Colleague通信的时候,就与中介Mediator通信。Mediator模式通过将对象间的通信封装到一个类中,将多对多的通信转化为一对多的通信,降低了系统的复杂性

Command 命令 Action 动作 Transaction 事务
意图:将一个请求封装为一个对象,从而使你可用不同的的请求对客户进行参数化;对请求排队或记录日志,以及支持可撤销的操作。
注意:Client创建ConcreteCommand并给它设定Receiver,Invoker对象保存ConcreteCommand对象,并调用ConcreteCommand的Execute。Command模式将调用操作的对象和知道如何实现该操作的对象解耦,也就是将调用者和接受者(以及它执行的请求)解耦。Command绑定Receiver也可以通过模版类实现。

Visitor  访问者
意图:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。
注意:Vistor和Element实际上构成了一个两维的矩阵,一个Vistor操作所有Element,一个Element在所有Vistor中都有对应的操作,那么它们需要彼此了解,从而破坏了封装性。
双分派 Double-dispath 意味着得到执行的操作决定于请求的种类和接受者的类型。Aceept 操作取决于Vistor类型和Element的类型

Chain of responsibility 职责链
意图:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并没有这条链传递该请求,直到有一个对象处理它为止。
注意:适用请求接受者会被动态制定。Handler需要一个successor来连接Chain。

Iterator 迭代器 Cursor 游标
意图:提供一种方法顺序访问一个聚合对象中各元素,而不需要暴露该对象的内部表示。
注意:Iterator提供一个过程(或者过程的可行性),需要的接口由Aggregate提供。

Interpreter 解释器
意图:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子
注意:Interpreter模式中,提供了TerminalExpression和NonterminalExpression两种表达式的解释方式,Context类用于为解释过程提供一些附加的信息(例如全局的信息)。
===over=== From Gof and k_eckel,也感谢现在的公司能提供大家一起学习的机会

 
There are no music lists on this space.

Vigee Bao

Occupation
喜欢一个人,可以很认真,从来没有放弃,直到时间磨平记忆!
生命中有无数等待着你去开启的门,敲开这门吧

我和其他民工一样,憧憬未来,想象爱情,为事业打拼
IemaoBao(AT)hotmail.com

闻到清香 --童话爱情

。。。文博的舅舅!。。。。。。。