[傅佩荣]《用智慧重建心灵》-第一章(第一部分)

第一章从认识自己到全人教育

雅典附近有个戴尔菲(delphi)神殿,神殿上特别刻着一句话,叫做“认识你自己”。这么简单的一句话影响了人类两千多年,一直到现在,人们还在互相问:“你认识你自己吗?”这个问题本身非常深刻,因为人的自我是既复杂又丰富的。

到底我是谁

   金庸在他的武侠小说《射雕英雄传》里面,特别塑造四个人物,就是东邪、西毒、南帝、北丐。西毒的名字是欧阳锋。

   欧阳锋这个人一天到晚想当武林世界里的天下第一,所以努力练武功。后来练“九阴真经”走火入魔,忘了自己是谁,见人就问:“我是谁?我是谁?”

   他抓到黄蓉,黄蓉很调皮,看他样子好像意识不太清楚,就回答说:“你是欧阳锋。”他接着再问:“欧阳锋是谁?”“欧阳锋”是他的名字啊!但是名字只是三个字而已,他说出来的“欧阳锋”三个字到底代表什么,他本身也弄不清楚。

   这个故事提醒我们:如果活在世间很努力去做一件事,像发展事业或追求某种成就,就像武侠人物练武功一样,练久了之后很容易忘记自己是谁。

我们有时候半夜醒来,会想道:我怎么在这里?这里是什么地方,是我要来的地方吗?或者我只是被各种因素推动,推到这个地方不能再走了?所以人有时候要停下来想一想:到底我是谁?

一 认识你自己

   照镜子一看,我知道里面的人就是我,不过我见到的是镜子里面的我,这是外表,而这个外表是会变化的。

最近一位朋友要帮我制作演讲录音带,请我去南部演讲,演讲之后他说你最好拍一些照片,总要让别人知道这是谁讲的,然后把我带到照相馆去了,由老板亲自操刀给我拍照,他很会拍,拍下照片之后寄给我;我一看吓了一跳,以为是十年以前的我。

   这说明了什么?照片很容易骗人。我们平常看照片的时候都会说,你看,想不到我以前这么年轻。但是任何照片一旦照出来就已经过去了,现在真实的我跟我留下来的照片之间,永远有一段距离。

⊙当下所有的

   人的生命一直在开展,过去不管你做了多少事,现在这一刹那才是你当下所有的,即使活到八十岁也一样,当下这一刹那你能够活着,你的生命就是一个新的开始。

   很多年轻人认为自己很年轻,事实上他们的生活只有四个字可以形容,就是“浪费时间”。有一次我在台湾大学校门口搭出租车,上车之后,司机就问我:“你要去哪里?”接着问:“你是台大教授吗?”我最怕碰到这样的司机,为什么?因为我知道他接着就要教训我了。他们一旦发现我是台大教授,接着就要说社会风气怎么坏,教授怎么当的,学生没有教好,很多类似这样的话。

   我先讲两次经历。

   第一次是我上出租车之后,司机就说他对大学生很失望。有一天早上八点钟,他载四个学生去某大学考试。学生在车上聊天,司机听到了,心里很难过。他们是今天要期末考试,但是昨天打麻将打了通宵,打到早上八点,四个人再包辆出租车去学校考试,接着有人说:“我们准好了吗?”准备什么?“作弊准备好没有?”这个司机接着对我说:“你看,父母亲那么辛苦把孩子送到大学去,他们居然临近期末考试时还打通宵麻将,还问作弊准备好没有,这些学生实在令人失望。”

   我无法否认他的话,因为他的经验是他所能依据的唯一真实,我只能对他说这个经验不一定是普遍的,假如大学生都是这那个样的话,我们的大学怎么办得下去呢?

   但是后来在台大发生了一件事,就在去年。一位老师有一天去上课的时候在路上昏倒,被发现之后送到医院,醒来之后忘了自己是谁。因为他患了失忆症——短暂失忆——突然间忘了自己所有的一切。

   过几天他到学校,学生知道他有这种病症。有个学生没交报告,他把学生找来问:“你怎么没交报告?”学生说:“我交了,你忘记了。”老师想,对啊,我有失忆症,大概忘记了,就给他八十分。这个学生真的很坏,他上网说,上学期我没交报告,老师有失忆症,我跟他说我交了,照样得到八十分。上网之后,第二个学期开学选课的时候,这个老师有四百多名学生选。

   各位现在知道大学生不用功吧!他们整天上网做什么?找一些快要失忆的教授的课来选。选这样的课很轻松啊,不上课、不交报告、不用考试,说一声老师你忘记了,就可以拿八十分。这并不是笑话,而是事实。所以我要强调,年轻并不值得羡慕,因为只有活在当下,你的生命才是真实的。

   读文至此,我不禁惭愧汗颜。作为一个大学生,我不知道自己是真的凭借自己的努力走到如今自己所在的地方,还是在各种因素的作用下走到这里,亦或者到底我自己的主观决定因子到底有多大的比重呢?正如先生讲到的那样,这一年半来我也渐渐意识自己的年华逝去,却没有抓住什么东西。我想说,出生在这个年代,或许是幸,也或许是不幸。没有人比我们富裕,也没有人比我们穷。当我们还是孩子的时候,我们被宠着,衣食无忧,甚至可以说那样的状况可以叫做乐不思蜀,因此,沉醉于表象,我们停止了成长,思想上的成长。当我站在自己二十二岁的站点上,才发现,马上自己就要上战场了,可是二十年自己却没能为自己打造成一把好武器,像这样的话,战场上别说杀敌,哪怕防御都已经很勉强了。于是我感到了前所未有的焦迫,面对着庞大的超越认识的知识,哪怕我不能只是望洋兴叹也止不住的手足无措。先生所说的行为,愚蠢的我也曾经做过,然而,过去的一个月,是决绝的一个月,累积于心的怅惘,一年半的疑问,十年的梦想,它们不会允许我在任何事物面前却步,哪怕是庞然大物,哪怕是浩瀚汹涌,所以,元宵之夜我许下了一个小小的承诺,悬崖勒马,回头是岸,先生不是也说了吗:“人的生命一直在开展,过去不管你做了多少事,现在这一刹那才是你当下所有的,即使活到八十岁也一样,当下这一刹那你能够活着,你的生命就是一个新的开始。”

[傅佩荣]《用智慧重建心灵》-序

序发现《易经》乾卦对人生历炼的启示

   近年研究《易经》,对于“六”这个数字觉得特别亲切。翻开任何一本介绍易经的书,都可以看到六十四个卦象,每一个卦象都是由六条横线(六爻)所组成的。横线有两种:中间没断开的是阳爻,中间断开的是阴爻。这样的阴阳二爻,组成了六十四卦,描绘了天地万物的变化,也写进了人生处境的百态。

   以大家最为熟悉的“乾卦”为例,六爻皆样,但是由下往上的六个位置却各有特色。我们依序念到的六句爻辞,可以简化为:“潜龙勿用,见龙在田,终日乾乾,或跃在渊,飞龙在天,亢龙有悔。”这里提到的“龙”字,是指人的生命力;龙在古人观念中,是海陆空三栖的生物,只有龙可以象征人的无限潜能与卓越成就。但是,谁可以通过重重考验,最后展现出人性的美妙光彩呢?

我们可以借用乾卦六爻的说法,来描述自我修炼的六个阶段。首先,“潜龙勿用”,是说:龙潜伏着,不要有所作为。一个人在年轻的时候,最好先充实自己,接受良好的教育,尤其要建立正确的观念,累积各种资源,准备接受社会的考验。

   其次,“见龙在田”,是说:龙出现在地上。这时开始崭露头角,表现也可圈可点,像个青年才俊,让大家寄以厚望。不过,仍须继续努力,安于偏下的位置,因为二在六爻里面只是第二步而已。有些人少年得志,过早成名,后来反而一事无成。

   到了第三步,“终日乾乾”,是说:要整天勤奋不休。由卦象看来,第三爻是下卦三爻的结束,准备往上接到上卦三爻,这时心中难免戒慎恐惧,不敢稍有松懈。有些人未到中年阶段就饱经忧患,明白命运与遭遇不可预测,在苦乐感受的冲击之下,对人生终将死亡也得到深刻的体验。

   第四步是“或跃在渊”,是说:或往上跃升,或留在深渊。人到中年,稍有小成,那么要接受现实,还是要往上提升呢?在逆境中自我成长,并不是人人做得到的,所以陷入困惑之中。孔子说他“四十而不惑”,正是典型的成功个案,可以作为我们的楷模。

   然后,第五步是“飞龙在天”,是说:龙飞翔在天空,总算不负平生的志向,可以大显身手,为人类社会做出贡献。在此,必须说明:这一步绝不限于政治界或企业界的成功人物,而是每一个人都可以做得的:在德行上止于至善。

   到了第六步“亢龙有悔”,是说:龙飞的太高,已经有所懊恼。这是高处不胜寒?还是无法由绚烂归于平淡?难道人生的最后一步必然是“悔”吗?所以,在此要补充乾卦在六爻之后所加的一句:“见群龙无首。”意即:现实六个阳爻无首无尾。人生回归平凡,而这个平凡却是最不平凡的一往平等境界。

   参考乾卦的内容,我们可以如此省思自我修炼的六个阶段:首先,为了跨出人生的正确步伐,要把握“从认识自己到全人教育”。其次,为了累积雄厚的实力,要做到“从求值规划到自我定位”。第三部与第四步是转折点,分别代表结束语新的开始,所以要明白的是“从人生苦乐到解脱生死”,以及“从面对逆境到自我成长”。

   第五步是“飞龙在天”的意象,“从开发潜能到止于至善”,真善美各种正面价值在此都有实现及提升的机会。第六步呢?有懊恼不舍,也有放开执着的觉悟,所以要学习的是“从心灵跃升到密契合一”。

UML类图

在UML的静态机制中类图是一个重点,它不但是设计人员关心的核心,更是实现人员关注的核心。建模工具也主要根据类图来产生代码。类图在UML的9个图中占据了一个相当重要的地位。

James Rumbaugh对类的定义是:类是具有相似结构、行为和关系的一组对象的描述符。类是面向对象系统中最重要的构造块。类图显示了一组类、接口、协作以及他们之间的关系。在UML中问题域最终要被逐步转化,通过类来建模,通过编程语言构建这些类从而实现系统。类加上他们之间的关系就构成了类图,类图中还可以包含接口、包等元素,也可以包括对象、链等实例。接口在类图中通过版型来表示<<interface>>,下面的介绍将主要介绍类,接口和类类似。

A.类的UML表示

类的命名尽量应用领域中的术语,应明确、无岐义,以利于相互交流和理解。类的属性、操作中的可见性使用+、#、-分别表示public、protected、private。

[UML]UML类图

B.类之间的关系

类之间的关系是类图中比较复杂的内容。有关联、聚合、组合、范化、依赖。

关联:是模型元素之间的一种语义联系,是类之间的一种很弱的联系。关联可以有方向,可以是单向关联,也可以是双向关联。可以给关联加上关联名来描述关联的作用。关联两端的类也可以以某种角色参与关联,角色可以具有多重性,表示可以有多少个对象参与关联。可以通过关联类进一步描述关联的属性、操作以及其他信息。关联类通过一条虚线与关联连接。对于关联可以加上一些约束,以加强关联的含义。如下图所示:

[UML]UML类图

聚合是一种特殊的关联,聚合表示整体与部分的关系。通常在定义一个整体类后,再去分析这个整体类的组成结构。从而找出一些组成类,该整体类和组成类之间就形成了聚合关系。例如舰队是由一系列的舰船组成。需求描述中“包含”、“组成”、“分为….部分”等词常意味着聚合关系。

组合也是一种特殊的关联,也表示类之间整体和部分的关系,但是组合关系中部分和整体具有统一的生存期。一旦整体对象不存在,部分对象也将不存在。部分对象与整体对象之间具有共生死的关系。

聚合和组合的区别:聚合关系是“has-a”关系,组合关系是“contains-a”关系;聚合关系表示整体与部分的关系比较弱,而组合比较强;聚合关系中代表部分事物的对象与代表聚合事物的对象的生存期无关,一旦删除了聚合对象不一定就删除了代表部分事物的对象。组合中一旦删除了组合对象,同时也就删除了代表部分事物的对象。

泛化定义了一般元素和特殊元素之间的分类关系,类之间的这种泛化关系也就是继承关系。泛化关系是“a-kind-of”关系,定义一般元素和特殊元素之间的分类关系。下图是一个泛化关系的例子。
 

[UML]UML类图
有两个元素如果修改X的定义可能会导致对Y的定义,则认为Y依赖X。依赖关系可能由各种原因引起,如一个类向另一个类发送消息,或者一个类是另一个类的数据成员类型,或者一个类是另一个类的操作的参数类型等。有时依赖关系和关联关系比较难区分。如果类A和类B有关联关系,它们之间必然有依赖关系。如果两个类之间有关联关系时不用再表示出这两个类之间的依赖关系。

C.建立类图

在软件开发不同阶段使用的类图具有不同的抽象层次,即概念层、说明层、和实现层。使用UML进行应用建模也应该是一个迭代的过程,所以我们应该建立一个类图的层次的概念。

概念层类图描述应用领域中的概念,这些概念与实现它们的类有联系。通常没有直接的映射关系。画概念层类图时很少考虑或不考虑实现问题,因此概念层类图应独立于具体的编程语言。下面是一个概念层类的表示。

[UML]UML类图

说明层类图。此时我们考察的是类的接口部分,而不是实现部分。这个接口可能因为实现环境、运行特性等有多种不同的实现。下面是一个说明层类的表示。

[UML]UML类图

实现层类图才真正考虑类的实现问题,提供实现的细节。此时的类的概念才应该是真正的严格意义上的类。它揭示了软件实体的构成情况。实现层的类是最常用的,在很多的时候说明层的类更有助于人们对软件的理解。

[UML]UML类图

UML的最终目标是识别出所有必须的类,并分析这些类之间的关系,类的识别贯穿于整个建模过程,分析阶段主要识别问题域相关的类,在设计阶段需要加入一些反映设计思想、方法的类以及实现问题域所需要的类,在编码实现阶段,因为语言的特点,可能需要加入一些其他的类。

建立类图的步骤:

(1)研究分析问题领域确定系统需求。

(2)确定类,明确类的含义和职责、确定属性和操作。

(3)确定类之间的关系。

类的识别是一个需要大量技巧的工作,寻找类的一些技巧包括:名词识别法;根据用例描述确定类;使用CRC分析法;根据边界类、控制类、实体类的划分来帮助分析系统中的类;参考设计模式确定类;对领域进行分析或利用已有领域分析结果得到类;利用RUP中如何在分析和设计中寻找类的步骤。

1. 名词识别法:

这种方法的关键是识别系统问题域中的实体。对系统进行描述,描述应该使用问题域中的概念和命名,从系统描述中标识名词及名词短语,其中的名词往往可以标识为对象,复数名词往往可以标识为类。

2. 从用例中识别类:

用例图实质上是一种系统描述的形式,自然可以根据用例描述来识别类。针对各个用例,可以提如下的问题辅助识别:

用例描述中出现了那些实体?

用例的完成需要哪些实体合作?

用例执行过程中会产生并存储哪些信息?

用例要求与之关联的每个角色的输入是什么?

用例反馈与之关联的每个角色的输出是什么?

用例需要操作哪些硬设备?

在面向对象应用中,类之间传递的信息数据要么可以映射到发送方的某些属性,要么该信息数据本身就是一个对象。综合不同的用例识别结果,就可以得到整个系统的类,在类的基础上,我们又可以分析用例的动态特性来对用例进行动态行为建模。

3. 使用CRC分析法:

CRC(Class,Responsibilities,Collaboration)卡的最大价值在于把人们从思考过程模式中脱离出来,更充分的专注于对象技术。CRC卡允许整个项目组对设计做出贡献。参与系统设计的人越多,能够收集到的好主意也就越多。因为CRC会议是大家全力参与的,通常只需要很少的有类名的卡片,实际上没有写出完整的卡片。CRC会议进行中,一些人模拟系统和对象交流,把消息传给其他的对象。通过一步步处理,问题很容易地被解决。它由三部分组成:类(Class)、职责(Responsibility)、协作(Collaborator)。下面是一个CRC卡的示例:

类名
职责1职责1的协作
职责2职责2的协作
…………

职责是类需要知道或做的任何事物。这些职责是类自身所知的知识,或类在执行时所需的知识。协作是指为获取消息,或协助执行活动的其他类。创建CRC模型需要下面的步骤。

1)  建立团队,包括客户、设计人员、分析人员和一个导引者。如果没有那么多人,那么可以是客户和你自己两个人。

2)  找出需求中存在的名词和名词词组,特别注意复数(通常是集合),他们对应的单数才是。把你第一次想到的所有概念都写在白板或纸上。不管看起来这些概念是如何荒谬,把他们都写下来。

3)  筛选。把对象分为三类,核心对象(必须首先实现),可选的(目前不能确定),以及不需要的对象。这之前最好确定一下你的项目范围。某些不属于本项目范围的对象可以使用轻量的adapter或proxy实现。这里可以加入对分析、设计模式的考虑和应用。

4)  建卡。取出CRC卡,把核心类写在每一张卡上,把可选的类和排除的类分别写在不同的纸上。

5)  角色扮演。最好是一个团队执行,一个人很难做。每个人负责几个类。对每一个Use case其中的情景。导引者指定从某一个人的类开始,某一个人看一看自己能够独立完成,如果不能完成,大家看一看手中的类,谁能完成,就站起来,宣布自己能够完成,以致继续这个过程,每个人完成自己的职责就坐下。在这过程中不断修改类的责任,并写下协作者的名字。

4. 根据边界类、控制类、实体类帮助分析系统中的类

UML中类有三种主要的版型:边界类、控制类和实体类。引入边界类、控制类及实体类的概念有助于分析和设计人员确定系统中的类。

边界类位于系统与外界的交界处,窗体、报表、以及表示通讯协议的类、直接与外部设备交互的类、直接与外部系统交互的类等都是边界类。通过用例图可以确定需要的边界类,每个Actor/Use Case对至少要一个边界类,但并非每个Actor/Use Case对要唯一的边界类。

实体类保存要放进持久存储体的信息。持久存储体就是数据库、文件等可以永久存储数据的介质。实体类可以通过事件流和交互图发现。通常每个实体类在数据库中有相应的表,实体类中的属性对应数据库表中的字段。

控制类是控制其他类工作的类。每个用例通常有一个控制类,控制用例中的事件顺序,控制类也可以在多个用例间共用。其他类并不向控制类发送很多消息,而是由控制类发出很多消息。

5. 领域进行分析

建立类图的过程就是对领域及其解决方案的分析和设计过程。类的获取是一个依赖个人创造力的过程,有时需要和领域专家合作,对研究领域进行仔细分析,抽象出领域中的概念,定义其含义及相互关系,分析出系统类,并用领域中的术语为类命名。领域分析是:通过对某一领域中的已有应用系统、理论、技术、开发历史等的研究,来标识、收集、组织、分析和表示领域模型及软件体系结构的过程,并得到结果。

D. 使用类图

类图几乎是所有面向对象方法的支柱,应该如何使用类图呢?以下提供了一些使用类图的一些建议。

不要试图在项目的初始阶段使用所有的符号,首先应该从简单概念开始。比如类的关系等等,在需要的时候才使用。在项目的不同开发阶段,应该使用不同的观点来画类图。如果处于分析阶段应该画概念层类图,当开始着手软件设计时,应该画说明层类图,当针对某个特定的技术实现时应该画实现层类图。不要为每个事物都画一个模型,应该把精力放在关键的领域。使用类图的最大危险是过早的陷入实现的细节,为了避免这个问题,应该将重点放在概念层和说明层。

《冰心图传》摘录

序 致青年读者

   缓缓吐露出来的语言,是聪慧的,谦逊而又严谨的,听起来非常入耳,带着有德、有望、有智的东方老人特有的那种令人倾倒的修养。

   每一位为创造美好世界作出过贡献的人物,都是值得人们敬仰和学习的。

壹 童年

   我有快乐美满的家庭。——冰心

   一个人童年时代的境遇如何,往往会深深地影响他(或她)的医生:他将有什么样的理想好追求;他将对世界和人生抱着什么样的态度;他将形成哪样的性格;他将具有何种的心底;他将热爱什么,痛恨什么;等等,都会看到童年留下的烙印。

   我凝望天空,有三颗最明亮的星星。淡淡的云,隐起一切的星辰的时候,只有这三颗依然吐着光芒。——冰心

    非诗之能穷人,殆穷者而后工也。——欧阳修

   读书当精而不滥。

   第一是我对于人生态度的严肃,我喜欢整齐、纪律、情节的生活,我怕看怕听放诞、散漫、松懈的一切。第二是我喜欢空阔高远的环境,我不怕寂寞,不怕静独,我愿意常将自己消失在空旷辽阔之中。因此一到了野外,就如回到了故乡,我不喜欢城居,怕应酬,我没有城市的嗜好。第三是我不喜欢穿鲜艳颜色的衣服。第四是我喜欢爽快、坦白、自然的交往。我很难勉强我自己做些不愿意做的事,见些不愿意见的人,吃些不愿意吃的饭,母亲常说这是“任性”之一种,不能成为“伟大”的人格。第五是我一声对于军人普遍的尊敬,军人在我心中是高尚、勇敢、纪律的结晶。说到童年,我常感谢我的好父母,他们养成我一种恬淡,“返乎自然”的习惯,他们给我一个快乐清洁的环境。我尊敬生命,宝爱生命,我对于人类没有怨恨,我觉得许多缺憾是可以改进的,只要人们有决心,肯努力。——冰心

贰 北京

   不管是什么样的生活天地,都看你对它是否熟悉,是否热爱;假如你能将自己的热情,全部灌注进去,那就会发现这个世界,光怪陆离,丰富多彩,广阔得简直没有边际。

伍 爱的哲学

   世界上的一切问题,都是相连的。——冰心

   从前我们可以说都是小孩子,无论何事,从幼稚的眼光看去,都不成问题,也都没有问题。……世界上一切的问题都是相连的。要解决个人问题,连带着要研究家庭的各种问题,社会的各种问题。要解决眼前的问题,连带着要考察过去的事实,要想象将来的状况。——这千千万万,纷如乱丝的念头,环绕着前前后后,如何能不烦躁?——冰心

   爱和怜悯都是罪恶。——尼采

   不要羡慕小孩子,他们的知识都在后头哩,烦闷也应经隐隐约约地来了。——冰心

陆 留学

   我十七岁离家的时候,祖父嘱咐我说:“出外只守着两个字——勤、慎……”——冰心

   不论是哪个渔人捡着,都祝你幸运。我以东方人的至诚,祈神祝福你东方水上的渔人!——冰心

   乡愁麻痹到全身,我掠着头发,头发上掠到了乡愁;我捏着指尖,指尖上捏着了乡愁。是实实在在的躯壳上感着的苦痛,不是灵魂上浮泛流动的悲哀!——冰心

   当你觅见了世界上有一个人,认识你,知道你,爱你,都千百倍的胜过你自己的时候,你怎能不感激,不流泪,不死心塌地地爱他,且死心塌地地容他爱你?——冰心