11.1 第一天上班
- 时间: 4月2日19点 地点: 小菜大鸟住所的客厅 任务: 小菜, 大鸟
“回来啦! 怎么样? 第一天上班感受多吧.” 大鸟关关心的问道.
“感受真是多哦!!!” 小菜一脸的不屑.
“怎么了? 受委屈了吗? 说说看怎么回事.”
“委屈谈不上, 就感觉公司氛围不是很好. 我一大早就到了他们公司, 正好我的主管出去办事了, 人事处的小杨让我填了表后, 就带我到 IT 部门领取电脑, 他向我介绍了一个叫 ‘小张’ 的同事认识, 说我跟他去办领取电脑的手续就可以了. 小张倒是蛮客气, 正打算要装电脑的时候, 来了个电话, 叫他马上去一个客户那里处理 pc 故障, 他说要我等等, 回来帮我弄. 我坐了一个上午, 都没有见他回来, 但我发现 IT 部门其实还有两个人, 他们都在电脑前, 一个忙于 qq, 一个好像在看新闻. 我去问人事处的小杨, 可不可以请其他人帮我办理领取手续, 他说他现在也在忙, 让我自己去找一下 IT 部门的小李, 他或许有空. 我又返回 IT 部办公室, 请小莉帮忙, 小李忙着回了两个 qq 后, 才接过我领取电脑的单子, 看到上面写着 ‘张繁忙’ 负责电脑领取安装工作, 于是说这个事是小张负责, 他不管, 叫我还是等小张回来再说吧. 我就这样又像皮球一样被踢到桌边继续等待, 还好我带着一本<<重构>>在看, 不然真要郁闷死. 小张快到下班的时候才会来, 开始帮我装系统, 加域, 设置密码等, 其实也就是 Ghost 恢复在设置一下, 差不多半个小时就弄好了.” 小菜感叹的说到, “就这样, 我这人生一个最重要的第一次就这么度过了.”
“哈哈, 就业, 结婚, 生子, 人生三大事, 你这第一大事的开头是够郁闷的.” 大鸟同情的说到, “不过现实社会就是这样的, 他们又不认识你, 不给你面子, 也是很正常的. 上班可不是上学, 复杂着呢. 罢了罢了, 谁叫你预期不好, 你的主管在公司, 事情就会好办多了.”
11.2 无熟人难办事
“不过, 这家公司让你感觉不好原因在于管理上存在一些问题.” 大鸟接着说, “这倒是让我想起来我们设计模式的一个原则, 你的这个经历完全可以体现在这个原则的观点.”
“哦, 是什么原则?” 小菜的情绪被调动起来, “你怎么什么事情都可以和软件设计模式搭界呢?”
“大鸟我显然不是吹出来的….” 大鸟得意洋洋说道.
“啧啧, 行了行了, 大鸟你强!!! 不是吹的, 是天生的! 快点说说, 什么原则? “ 小菜对打鸟的吹鸟腔颇为不满, 希望快些进入正题.
“你到了公司, 通过人事处小杨, 认识了 IT 部的小张, 这是, 你已经认识了两个人. 但因没人介绍你并不认识 IT 部小李. 既然小张小李都属于 IT 部门, 本应该都可以给你装系统配置账号的, 但却因小张有事, 而你又不让认识小李, 而造成你的人生第一次大大损失, 你说我分析的对吧?”
“你这都是废话, 都是我告诉你的事情, 哪有什么分析.” 小菜失望到.
“如果你同时认识小张和小李, 那么任何一人有空都可以帮你搞定了, 你说对吧.”
“还是废话”
“这就说明, 你得把人际关系搞好, 所谓 ‘无熟人难办事’, 如果你在 IT 部 ‘有人’, 不就万事不愁了吗?” 大鸟一脸坏笑.
“大鸟, 你到底想说什么? 我要是有关系, 对公司所有人都熟悉, 还用的着你说呀.”
“小菜, 瞧你急的, 其实我想说的是, 如果 IT 部门有一个主管, 负责分配任务, 不管任何需要 IT 部配合的工作都让主管安排, 不就没有问题了吗?” 大鸟开始正经起来.
“你的意思是说, 如果小杨找到的是 IT 部门的主管, 那么就算是小张没空, 还是可以通过主管安排小李去做, 是吗?”
“对头” 大鸟笑着鼓励到.
“我明白了, 关键在于公司里可能没有 IT主管, 他们都是找到谁, 就请谁去工作, 如果都熟悉, 有事情可以协调着办, 如果不熟悉, 那么就会出现我碰到的情况了, 有人忙死, 有人闲着, 而我在等待.”
“没有管理, 单看人际关系协调是很难办成事儿. 如果公司 IT 部就一个小张, 那什么问题也没有, 只不过是效率低些. 后来再来个小李, 那工作叫谁去做呢? 外人又不知道他们两个人谁忙谁闲的, 于是抱怨, 推诿, 批评就随风而至. 要是三个人IT 部门还没有了管理人员, 则更加麻烦. 正虽未一个和尚挑水吃, 两个和尚抬水吃, 三个和尚没水吃.”
“看来哪怕两个人, 也应该有管理才好. 我知道你的意思了, 不过这是啥管理问题, 和设计模式有关系吗?”
“急什么, 还没讲完呢? 就算有 IT主管, 如果主管正好不在办公室怎么办呢? 公司几十号人用电脑, 时时刻刻都有可能出故障, 电话过来找主管, 人不在, 难道就不解决问题了?”
“这个, 看来需要规章制度, 不管主管在不在, 谁有空谁先去处理, 过后汇报给主管, 再来进行工作协调.” 小菜也学着分析起来.
“是呀, 就像有人在路上被车撞了, 东到医院, 难道还要问清除有没有钱才给治疗吗? ‘人命大于天’ 呀, 同样的, 在现在的高科技企业, 特别是软件公司, ‘电脑命大于天’, 开发人员工资平局算下来每天是按数百计的, 耽误一天天半天, 实在是公司的大损失呀—所以你想过应该怎么办没有?”
“我觉的, 不管认不认识 IT 部的人, 我只要电话或亲自找到 IT 部, 他们都应该想办法帮我解决问题.”
“好, 说的没错, 那你打电话时, 怎么说呢? 是说 ‘经理在吗?….小张在吗?…..’ , 还是 ‘IT部’ 是吧, 我是小菜, 电脑已坏, 再不修理, 软件歇菜.”
“哼, 你这家话, 就会拿我开心! 当然是问 IT 部门比问具体某个人来的更好!”
“这样子一来, 不管公司任何人, 找 IT 部门就可以了, 无论人不认识人, 反正他们会想办法找人来解决.”
“哦, 明白了, 我真的明白了. 你的意思是说, IT 部门代表是抽象类或接口, 小张小李代表是具体的类, 之前你在分析会修电脑不会修收音机里讲得依赖倒转原则, 及面向接口编程, 不要面向实现编程及是这个意思?” 小菜突然有顿悟的感觉, 兴奋异常.
11.3 迪米特法则(Law of Demeter/ Least KnowLedge Principle)
“当然, 这个原则也是满足的, 不过我今天想讲的是一个设计原则: 迪米特法则(LoD), 也叫最少只是原则[J&DP].“
迪米特法则(LoD): 如果两个类不必直接通信, 那么这两个类就不应当发生直接的相互作用. 如果其中一个类需要调用另一个类的某一个方法的话, 可以通过第三者转发这个调用.[J&DP].
“迪米特法则首先强调的前提是在类的结构设计上, 每一个类都应当尽量降低成员的访问权限[J&DP], 也就是说, 一个类把装好自己的 private 状态, 不需要让别的类知道的字段或行为就不要公开.”
“哦, 是的, 需要公开的字段, 通常就送属性来体现了. 这不是封装的思想吗?”
“当然, 面向对象的设计原则和面向对象的三大特性本就是不矛盾的. 迪米特法则的根本思想, 是强调了类之间的松耦合, 及那你今天碰到的这件事来做例子, 你第一天去公司, 怎么会认识 IT 部的人呢, 如果公司有很好的管理, 那么应该是认识的小杨打电话到 IT 部门, 告诉主管安排人给小菜你装电脑, 就算是开始时小张负责, 里临时有急事, 主管也可以在安排小李来处理. 同样道理, 我们在程序设计时, 类之间的耦合越弱, 越有利于复用, 一个处在弱耦合的类被修改, 不会对有关系类造成波及. 也就是说, 信息的隐藏促进了软件的复用.”
“明白, 由于 IT 部是抽象的, 哪怕里面的人都离职换了新人, 我的电脑出问题也还是可以找 IT 部门解决, 而不需要认识其中的同事, 纯靠关系帮忙了. 就算需要认识, 我也只需要认识 IT 部门的主管就可以了, 由他来安排工作.”
“小菜动机不纯吗! 你不会是希望那个没帮你做事的小李快些被炒鱿鱼吧?哈!” 大鸟瞧着小菜笑道.