认识新事物的维度

接近岁末,一种总结的冲动总是在内心里燃烧。这一年来,自己一直都是在做电子税务相关的项目开发;前期的数据抓取与数据映射花了2个多月的时间,然后从6月底开始基于公司的电子发票框架来做泰国的解决方案。不知不觉半年已过,身在其中时觉得时间过得很慢,每一天都有不同的问题需要去解决,不同的概念需要去理解,可是现在回头看,怎么会需要用六个月的时间呢?好长呀。其中的原因可能很复杂,有需求的不确定性和套用框架后的客观工作量,但是我现在回头看,最消耗工作量的应该是自己对框架本身及其所用的一些组件的理解上,这在某种程度上也说明自己客观上来说学习能力还是偏弱,而且没有做定期的总结,导致现在回过头来,仿佛时间被虚度了一样。

其实这个框架本身是一个状态管理机,提供一个统一的用户界面让业务用户可以管理自己的电子发票的发送状态。由于在发送过程中需要先去主数据库里抓取业务数据,然后将其按照特定的格式转化成消息内容,并把这个消息交给消息中间件进行封装和发送,并解析返回的消息。其实这个消息中间件本身并不负责通信,它通过调用统一的通信接口将消息交给通信中间基于SOAP通信协议生成网络消息并传输。现在写下来好像其实这个东西并不复杂,但是因为在开发过程当中需要理解电子发票框架本身的Action Handler和Process Manager,消息中间件中Message Interface等概念,因此工作量也就相对较大了。

其实说到最本质的原因,还是自己对于消息通信等领域的知识没有任何先前的经验和认知,因此在开发过程中学习和调研花费了大量的时间,这个的确是一个巨大的劣势。虽然说你能够通过学习去弥补这些知识,但是要花的成本是比一个有经验的人要多很多的,所以自己能够在项目中去学习这些东西是很重要的。

写了这么多,好像前面的内容都跟标题没有任何的关系,别着急。前面我说的是自己失败的例子,我觉得接触到一些自己没有涉及到的领域是客观事实,在承认这个事实的基础上,如何提高自己的学习效率呢。我暂且把学习一种新东西理解成认识新事物吧,因为世界上的科学知识大体可以分为两种:认识论和方法论,而连接两者的桥梁是“实践”。前面所述就是一种不好的实践。

我之前的学习方式是通过局部的方式去击破各个概念,这样做其实很费时间,因为你如果一开始就着眼于局部很容易就与整体割裂开来,产生类似于盲人摸象的错误认知;也许你在学习局部时,也会去了解一些与该部分有交互或者间接影响的模块,但是由于没有整体的认知,导致之后在学习其他模块时又需要重复去理解之前的模块,这样会有大量不必要的重复性学习发生,而且更糟的是会有错误的认知。

所以我觉得一个好的认识过程应该是先系统性全局性地去了解某个事物,具体可以从一下几个方面来着手:

1.它在整个用户故事里扮演的角色是什么?提供了哪些功能?

2.它的出现解决了什么问题,带来了哪些好处?

3.使用它会有哪些局限?如何解决这些局限?

基于这三个维度,基本可以对于新事物有一个整体的认知,之后在将新事物拆分成多个模块逐个击破,那么就会事半功倍。将这个思路应用到我前面说到的项目:

电子发票框架的本质是发票的周期管理,具体包括凭证创建,创建消息,传输消息,解析返回消息等功能;

它的出现是为了解决很多国家都有电子发票的需求,但是对于一个电子发票来说,其所有的状态转换,消息生成等部分的代码和功能实现是通用的,这样每个国家的解决方案不需要重新写一个生命周期管理和消息生成的代码,而只需要关注于具体的状态和消息映射。

它的局限是对每个国家的解决方案带来了很大的开发成本和工作量,因为它自身引进的很多新概念有一定的学习成本,这些学习时间可能并不比重新写一套hard code的状态管理机制短。但是这个局限性对于后期的维护是十分友好的,因为统一的通用部分的代码调用,使得全球化的公司有统一的用户体验,而且通用代码部分的质量也是对整个软件质量的保证。

从表面上来看,电子发票框架提供了创建消息,通信并返回消息的功能(实际上创建消息的工作该框架会交给消息中间件来做,该框架只负责决定调用哪个消息中间件预定义好的消息格式,并把映射前的主数据传给消息中间件;消息中间件对每个消息格式的具体实例会生成一个消息实例,并基于电子发票框架提供的数据生成外部消息格式,然后将该消息传给通信通信中间件,由通信中间件来完成具体的通信工作),从细节上来看这个观点是错误的,但是从全局上来说却是准确的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,454评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,553评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,921评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,648评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,770评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,950评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,090评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,817评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,275评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,592评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,724评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,409评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,052评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,815评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,043评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,503评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,627评论 2 350

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,846评论 25 707
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,637评论 18 139
  • 今年我25岁,他52岁。 我们之间经历过家庭的聚散,也经历过生离死别的考验。很多人觉得我们之间的故事有些太动荡起伏...
    RyneSun阅读 311评论 0 0
  • 徐子涵_007阅读 366评论 0 2
  • 姓名:楼立秧 公司:慈溪光华实业有限公司 宁波盛和塾塾生,235期学员 知~学习 《六项精进》大纲 诵读5遍 总6...
    楼立秧阅读 178评论 0 0