@Lenciel

苏大爷

1

苏大爷是广汉市自来水公司的门卫。

父亲调到这单位,举家搬进跟办公楼一院儿的宿舍,从拉家具的卡车上下来时,他给我搭了把手。

所以苏大爷是我在广汉认识的第一个人。

那会儿他应该就已过了退休年龄,两鬓斑白,满脸皱纹,行事缓慢,声音温和。

可能怕自己动作一大,那刀刻般的皱纹里嵌的愁苦,就要抖落一地,叮当作响,为人所知。

所以他总是静静地看着书。

门卫室的桌上,床上,地上,到处是书,我常去蹭。

一来二去,熟了,他就爱推荐些书给我看。

「这本《多余的话》不错」,递给我的时候,他指着墙上那排副总以上职位的领导才有,刻着名字金光闪闪的不锈钢信件盒子说,「男人个个都想把自己的名字刻在什么东西上。肯把一辈子唱成破败挽歌的瞿秋白,真正是老实敞亮,不卑不亢。」

我拿去读了,不喜欢,但记着了这革命先烈和课本上说的不一样:被枪毙时,不光惦记着马列主义,还惦记着中国的豆腐乃是世界第一,了不起。

更喜欢听他讲自己的故事。

2

苏大爷老家在三水镇石关村,排行老二,大家叫他苏老二。

因为听起来像梭老二,苏老二不满意,让大家叫他苏二。

家里穷,苏二很小就成了地里的主力。

农村人,结婚早,没多久就要了娃。

但他去交粮,地主当家的看他眉清目秀,手脚麻利,人也机灵,就收了他去账房,从更夫杂役,做到候补学徒,也就是「耽搁」。

庄稼地里的顶梁柱,到账房却是童工,没有工资,只领「花红」,每月两个银元。一年下来,能买 100 斤大米,或者 14 斤猪肉。

人从此住在镇上,寄回去的钱,母子俩勉强能过,家却慢慢破旧了。

草顶的泥房,墙歪得只能用木杠支起来。偌大的院子,几只瘦得被风推来推去的下蛋鸡,跑在枝条漫不经心叠着的柚子树下。树上挂的果,又小又酸,像是在闹脾气。

但苏二不想回家种地。他在账房里认了字,读了书,开了眼。转成一级学徒后,靠着为人厚道,做事尽心,一手算盘打得风快,他慢慢升级,到 22 岁的时候,已经是「五级学徒」,下一步就能做个「内账」,是正经的账房先生了。

他定时寄钱,很少回家,孩子不怎么认识他。

他倒是认识了玉清。

3

那时候,春天还很分明,总织着雨幕。

玉清的母亲来找当家的姨太太拉家常,玉清就在院里闲逛。

四目相对时,他心里一惊,就不敢再看。

晚上睡觉,心还惊着。想了一宿,太过用力,天边白起来,脑子里影影绰绰,已经想不起姑娘的长相。

几天后,账房里,他正在忙着,一抬头,面前却是玉清。

这次看清楚了,眉黛春山,眼含秋水,款款地走过来,光芒却映得账房里像生了火。

她说,「杀牛场边上有片夹竹桃,晚饭后去那儿等着,陪我聊会儿天。」

声音软软悠悠,没等他回话,人已经不见了。

他抬头往窗外望,雨还下着,心里面却也像生了火,爽利起来。

两人第一次约会,第一次牵手,第一次拥抱,都在杀牛场那片夹竹桃里。

不是很好的环境,光是空气里,就有夹竹桃汁液的腐臭味,牲口鲜血的腥味,挺难闻。

但学徒和小姐的私会,也没有太多选择。

每次最难的是分开。

玉清家里有父母候着,不能待太久。

每次她不停摆弄着自己的手,就是要走了。

苏二也就摆弄起对方的手来。

等到玉清心一硬,站起来要走,苏二就顺手把她拉回来坐下。

终于有次,拉扯中没忍住,他说:「玉清,我攒些钱,你给家里说说,我们在一起吧。」

玉清听了,心里烫着,却不接话。

「你怕的是我有老婆孩子?他们跟了我,是苦命人。每个月寄回家的钱,还得寄。但我还有结余,还会更卖力气,这么久了,你看得出来,我心里只有你,我们会过上好日子。」

玉清听了,心里更烫,但想到精明严厉的父亲,一腔喜悦都变了泪,呜呜地跑开了。

那晚的风,也呜呜地,吹了一宿。

4

不久就解放了,当家的挨了枪子儿,已经离婚的苏二,作为地主的狗腿子,被关进了青城山下的监狱。

玉清的父亲上交了宅院、田地和财产,当了干部,住进县城。

苏二放出来这天,也是春天,也下雨。

他打听着到了玉清家,在门口踌躇了半响,终于敲了门。

门缝里,玉清呆了片刻,就把他迎进了客厅坐下。两个人你看我,我看你,不说话。

她长开了,像饮饱了的水仙,比以前更舒展。只是衣裳换了统一的革命式样,妩媚都藏着。

而他进了一趟班房,蓬头垢面之外,身子也消瘦了不少。

但眉宇间那英气都还在,她心里觉着些安慰。

「他们要下班了,我给你做点儿吃的吧。」

找来找去,家里只有几个鸡蛋,一点儿牛奶。

「你还是像以前一样喝不惯牛奶吧,我给你煮两个蛋。」

很快,盘子就端上茶几,玉清吐了吐舌头:「有一个扔下去的时候,破了。」

苏大爷看着盘里的鸡蛋,一颗完整,一颗爆开,拥在一起。想着自己终于有了人照顾,就湿了眼眶,要拉玉清的手。

玉清躲了,却没怪他,定定地看着他的手,问:「你看你这手,是干了啥?」

「来的时候,想给你带点儿东西,又没钱。山脚下看到些毛栗子,就摘了。」

苏二说着,就把栗子从裤兜里面掏出来。一个一个,小小的,刺却硬挺,扎进了兜里,掏得很费劲。好不容易掏完,挑了个最大的刨开,小得像一粒青杠尖儿,苏二的眉头就皱起来。

玉清终于忍不住,握起他的手,轻轻摩挲起来。

窗外的雨下得疾,紧一阵,再紧一阵,压得屋里也没了声响。

分开的时候,玉清拿了把伞,把他送到楼下,又从兜里掏出些钱,都递给了他,说:

「开春了,你回家看看孩子吧。」

苏二接了伞,推开钱,说:

「我还来……」

玉清没说话,冲他摆了摆手,看他转过身走进雨里不见了,才柔柔地落下泪来。

5

苏二会算账,找活干不难,很快就进了个公私合营的公司,叫鸡鸭鹅蛋厂,做会计。

那时候什么都是公家的,没有品牌,名字就坦白,比如鸡鸭鹅蛋厂,做的就是禽类的肉和蛋的加工。

厂不大,帐也简单。好处是,离玉清上班的国营食品公司近,常能看见她。

坏处是,离这么近,从没看到过她,没过两天,倒是听说了她的婚讯。

苏二明白了为什么见不着她,喝了酒,倒在租来的房里,死死地睡。

厂长少了骨干,差了知情人来劝。

「刘玉清,富农子弟,一家人都前途不明。你呢,离过婚,又有前科,两个人凑一起是要干嘛?别人给她介绍的这个,军队的,待遇好,有前途,三代贫农,根正苗红。」

苏二挣扎着起来,脸上和心上都被撕开了口子,像受伤后吃不住疼的小兽,满城乱走。

一直走到城边鸭子河的坝上,再无路可去,才伤伤心心哭了出来。

鸭子河滚滚东去,稳稳地,没有回应。

两天后,苏二回到了厂里上班。人还是那个人,业务能力强,为人也公道,不久就做了财务室主任。

但人又不是那个人了,攒下些钱,就跑到鸭子河边买了个窄小破败的院坝,自己砌了个砖房,离群索居。

原本清爽干净的人,也变得嗜烟好酒,常把自己锁在屋里熏着看书,终日无语。

唯一比较有生气的是院门口栽的那两株夹竹桃,一白一红,开花时,常有小孩儿来折。苏二也不恼,眯了眼笑着说:「特别好看吧?特别好看。但小朋友要小心,别玩到嘴巴里面了。」

就这样春去秋来,不知道第几个冬天,城里突然乱起来,有很多传闻,随风乱窜。那时候的冬天,还很冷,总下雪。皑皑的白雪,映着鲜红的标语,苏二总觉得触目惊心。

有一天,下班回家,苏二见玉清孤零零守在自己门口。

「找我?」

玉清低了头,沉默不语。

又问:

「出什么事儿了,你说……」

玉清见他一脸的关切,知道他还记挂着自己,这才开口:

「我男人带人,把我爸妈拉出去游街,还动了手。老年人想不通,吞了火柴头。」

苏二红了脖子,要去找人算账。

「苏二」,这次是玉清拉了他的手,「我男人也是被逼的,他和我一样害怕。」

「不怪他?」

「都是命嘛。」

「还怕吗?」,苏二的声音温柔下来。

玉清的眼泪忍不住,挂了一脸。

两人拉了手,坐在一起,窗外的雪下得很大,天黑后就有些冷。苏二把玉清抱到被窝里捂着,像抱着襁褓里的婴儿。

早上起来,天晴了。推开窗,云山满目,烟树模糊,喧闹的世界变得遥远起来。苏二给玉清买了全蛋金丝面,自己弄的佐料,过一下油的香菇、肉末,配院角里刚扯的绿叶红根的菠菜,灌了一大碗鸡汤,香到院门都关不住了,再撒上切碎的新葱。玉清吃完,热气蒸得眉头舒展开来,整个人闪闪发亮。

「我要回去了。」

「能不走了吗?」

「我身份不好,会害着你。这个时候,做这样的事情,也会害着他。」

「你再走,才会害着我。」

玉清不说话,在心里面叹了口气,苏二听得真切,只好说:

「那我送你吧。」

雪已经开始化了,踩起来,湿湿嗒嗒,叽叽嘎嘎,让人从牙一直酸到心里。走到箭道子,前面就进城了,不好再送。苏二看到张麻子的照相馆开着,就要玉清一起合个影。

「给我留张照片吧,偶尔能翻出来看看。」

最后还是没照。

玉清这次走后的事,苏大爷没讲过。

只说自己的院子,到文革时,政府想用,就交了出来,只留着砖房自住。后来整个东南角这一片,都变成了自来水公司,他的鸡鸭鹅蛋厂,被两个老板承包,变成了二元食品厂。

私营企业和之前厂里,做起帐来,不太一样,他也就不再去上班,到自来水公司做了门卫。

我望着门外那两棵三四米高的夹竹桃,问:「杀牛场移过来的?」

「好看吧?不仅好看,还吸尘土。」

「不怪她?」

「都是命嘛。」

高中的时候,我家搬到顺德路人民医院的宿舍,就和苏大爷断了联系。去年清明回家,入了龙泉山公墓大门,拾阶而上,走到某一排的时候,父亲停下一指,说,以前你常去借书的那门卫,苏大爷,也埋这儿。

「哦?」,我顺着他的手看过去,坟头延绵不绝,并不知道究竟是埋在哪儿。

「好些年前的事儿了。这老头一生未娶,也没有子女,在公司干了一辈子,大家都觉得他人好。所以公家出了些,大家捐了些,给他葬了。你多来看看你爷爷和外公,早就知道了。」

烧完香,没忍住,我折回那一排,寻了一通,找到了他的墓碑。

欣赏瞿秋白的苏大爷,和瞿秋白一样,名字还是被刻在了碑上,未能免俗。

我山上山下找了一遍,没找到夹竹桃,只好折了一枝将败未败的桃花,插在碑前。

天色渐晚,碑影变得厚重,罩了桃花。

我呆呆看着,感觉是苏大爷抱了爱人入怀,紧紧地捂。

Bounded Context

定义

Bounded Context 是领域驱动设计中战略设计的重要组成部分,一定程度上决定了系统的逻辑架构以及集成方式。

基于康威定律,Bounded Context 的划分还可能会影响进行项目开发实施的组织的结构。

DDD 社区将 Bounded Context 定义为:

应该显式地定义某个模型所应用的上下文。还应该在团队组织、应用中特定部分的使用以及像代码库和数据库模式等物理表现等方面显式地设定边界。要保持边界中模型的严格一致,而不要受外界问题的影响与干扰。

这段话在说的无非是「边界」,通过为领域模型划定合理的边界,就可以降低设计与开发的复杂度。此外,边界还能够划分知识的层次,例如对外而言,可以只保障暴露在边界外接口的一致性,以及关注它们之间的集成方式。边界之内则自成一体,可以独立演化,甚至可以包容一到多个遗留模块。

常见问题

正是因为 Bounded Context 带来的隔离性,Juelin Lerman才认为:「把一个将大量的类放在一个上下文中的独立模型分解为多个较小的模型是有好处的。Bounded Context 创建的模型较小,而且内聚性更高,同时维持了模型之间的边界。」

好处听起来都是好的,但是难免会有下面这些问题:

如何确定或划分 Bounded Context? Bounded Context 是否具有层次? Bounded Context 划分的边界是逻辑的,还是物理的? Bounded Context 之间的通信方式?

也难怪在文章《DDD: The Bounded Context Explained》中 Mike 要说,Bounded Context 是 DDD 中最难解释的原则,但或许也是最重要的原则。可以说,没有 BC,就不能做 DDD。在了解 Aggregate Root、Aggregate、Entity 等概念之前,需要先了解 BC。

Vaughn Vernon 的Implementing Domain-Driven Design解释如下:

Bounded Context是一个显式的边界,领域模型便存在于这个边界之内。领域模型把通用语言表达成软件模型。创建边界的原因在于,每一个模型概念,包括它的属性和操作,在边界之内都具有特殊的含义。

这里是从设计原则上来规约出 Bounded Context 的定义:

  • 它是模型概念,与实现无关,是高层的抽象机制
  • 具有自己独立的边界,是自治的,遵循高内聚、松耦合
  • 不同的 Bounded Context 之间的关系决定它们之间的协作与通信方式
  • 它与 Domain 应为一一对应关系
  • 一个上下文意味着一个专有的职责

Reference

  1. BoundedContext by Martin Fowler
  2. Implementing Domain-Driven Design
  3. Shared Data Model using Bounded Context