面向对象的类:你是干活的?拉活的?还是忽悠的?

面向对象的类:你是干活的?拉活的?还是忽悠的?

 

叙说程序猿眼中的人文世界,分享的主题如下:

程序那点事:面向对象中类的种类

程序猿学管理:在类的种类中学习识人用人

有趣的HOOKs:换位思考与共情能力

 

程序那点事:面向对象中类的种类

面向对象技术中最为核心的概念就是类(class)和对象(object),对象可以理解成是现实世界中一个实际存在的事物,当然可以是有形的(比如一辆车),也可以是无形的(比如一项计划)。在面向对象方法论中对于类的定义是这么给出来的:类是具有相似结构、行为和关系的一组对象的描述符。

面向对象的类:你是干活的?拉活的?还是忽悠的?

 

类和对象的关系就如同一个模具和用这个模具铸造出来的铸件之间的关系,也如同哺乳动物与虎、狼、熊、鹿、猴、狗等等之间的关系,所以类给出了该类的全部对象的抽象定义,而对象则是符合这种定义的一个实体。所以,一个对象(object)也可以称为类(class)的一个实例(instance),而把类作为对象的模板(template)。

面向对象的类:你是干活的?拉活的?还是忽悠的?

由于面向对象技术要描述客观世界的应用系统,所以类其实会变得十分的复杂,为此在UML中将类(class)分为了3中主要的版型(种类),即实体类(entity class)、边界类(boundary class)和控制类(control class),这样子便于面向对象分析OOA和面向对象设计OOD来确定类。 

面向对象的类:你是干活的?拉活的?还是忽悠的?

为了大家通俗地来理解,实体类(entity class)往往对应的都是现实世界中存在的事物;边界类(boundary class)往往对应的是与联结联系相关的,最主要的就是系统内部与外界参与人之间的交界联系,比如我们的GUI用户界面、通信协议等;控制类(control class)是什么呢?可以理解成其本身并不干活儿的,而是负责管理其他类工作的。在边界类和实体类之间存在的控制类,可以使得“内部工作”更加“高效有序”,比如大家知道的餐馆吃饭,边界类类似于服务员收点菜单,实体类相当于后厨的厨师们做的每一道菜,而控制类则是后厨负责接单派单的。

 

 程序猿学管理:在类的种类中学习识人用人

面向对象的类:你是干活的?拉活的?还是忽悠的?

我们应该注意到面向对象类的三种版型都是具有较为明显的特点的,其与我们一个组织、机构和企业等内部的岗位存在着较为明显的对应关系。 

实体类人才----干活的 

一个企业的主营业务就是企业存在的原因,也是企业为客户交付的价值,而完成这些具体价值的,比如生产产品、提供服务等,往往就是由”实体类“的岗位来完成的,这些岗位都会有十分明确的技能要求,如同实体类中都会定义明确的类的”属性“那样;同样实体类中的”方法“往往可以对应到这些岗位的职责。

面向对象的类:你是干活的?拉活的?还是忽悠的?

正如实体类的对象是永久性的,它的生存时间长于会话生命周期,所以其实我们从事企业内部”实体类“岗位的人,往往是只要企业存活着他们都是会”被需要“的,这样子的岗位对于追求职业稳定性的人来说是合适的,而且只要其技能被市场需要,就也很容易找到新的相对稳定的工作,一句话哪里都是需要干活的。

经常有年轻人在工作中担心自己不会与领导搞关系影响自己的前程,或者担心自己的付出未来没有回报等等,其实就是没有想明白实体类人才在一个机构中的关键价值是什么?一个企业要发展,都是需要有业绩支撑的,领导再喜欢浮夸不干活的人,但是能够干活的人,都是不可以缺少的,不然大家一起玩完,所以不用去怀疑领导这方面对你的”真心和诚意“,因为如何对待实体类人才就是他如何对待企业的发展是同样的一件事情。

面向对象的类:你是干活的?拉活的?还是忽悠的?

但是,”实体类“的岗位具有一定的相对专业性和专注性,其长远的职业空间在于随着时间及经验的积累是否能够产生技能专业度的门槛,如果能够的话,相信随着时间的推移,待遇还是可以达到一个相对令人满意的水准的,当然取决于你的心有多大了。当然,你必须还要考虑的是随着年龄的增长体力会不会不是障碍,就像老中医就绝对没有问题,50岁的程序猿确实就比较稀有了,像我这样子,近20年创业打拼,到了50岁回过来琢磨总结技术与人生的人,就更加稀有了,哈哈哈。

实体类的人才我个人觉得内心要乐于的是能够”被人所用“,正所谓”千里马常有,而伯乐不常有”,再牛掰的姜子牙,不然也得整日钓鱼去,不是吗?说什么”孤舟蓑笠翁,独钓寒江雪“,内心多么苦逼,自己知道,历史上怀才不遇郁闷而去的人才不再少数了。

面向对象的类:你是干活的?拉活的?还是忽悠的?

实体类的人才最为忌讳的是自大,天下缺我不行的想法,殊不知天下生意也罢事情也罢大多不是竞技比赛,百米跑出9秒和跑出10秒的区别可能没有那么大,当然了,能够跑出9秒最好啊,所以老板们因为这个会“珍惜”你,但是你要懂得“人敬你一尺,你还人一丈”的道理。往往实体类的人才也是最为需要修炼的就是情商,尤其是共情(EMPATHY)的能力,才能够让你弄懂老板们的心思,能够做到自己的”基业长青“。好吧,再说直白一点,花无百日开对吧?我们每一个人除非时刻是自己所处环境中的大牛,否则的话,你最牛逼时候给老板们受的气,想必一定会成为你弱势时剪裁你的那把刀,防微杜渐和君子不立危墙之下都是说给这种人听的。

 

边界类人才----拉活的

之所以说边界类是拉活的,最主要的原因是边界类的一个突出的特点就是边界类是”系统内的对象与系统外的参与者之间的联系的媒介“,也即是说沟通是边界类最大的特点之一。比如我们现在所有的用户界面UI就是边界类,那一个企业中与边界类最为相似的岗位就是与沟通强关联的一些岗位,比如销售SALES、业务拓展BD、合作伙伴管理、市场宣传Marketing、客服等。

我们从用户界面UI的边界类能够得到什么启示呢?用户界面需要用户友好,是要让用户舒服方便的,这就是共情能力的体现,站在用户的角度设计用户界面;界面要美观,所以要突出优点和重点;用户界面得完备,所以要覆盖产品和服务需要得全部输入需求;用户界面要简洁,所以就需要屏蔽用户不需要了解得内部情况等等。

面向对象的类:你是干活的?拉活的?还是忽悠的?

用户界面边界类映射到销售人员的技能要求就是需要能够站在客户角度去发现客户决定购买的动机,去建立与客户之间相对信任和良好的关系(用户友好);要注意自己的穿着、言谈和举止,同时了解公司及产品服务的优点及竞争的劣势,并对劣势给出客户能够接受的解释,也就是弱化劣势(界面美观);界面美观的工作其实就是市场宣传Marketing的一个重要的工作,品牌的美誉度不就是类似的内涵嘛;(用户界面的完备性)对于销售来说就是需要专业性得到充分的体现,需要销售能够学习好自己的产品服务,现在的企业为了展现此点往往为销售配置了售前工程师、产品顾问之类的,就是帮助销售解决这个问题的;(用户界面的简洁)其实就是要求销售人员懂得在客户面前如何突出重点要点,同时懂得控制好内部风险不要让内部的流程、规矩等去困扰客户。

拉活的销售对于一家企业的重要些怎么强调都是不过分的,有收入才能够创造企业的现金流,没有现金流的企业是要关门的,而且管理不好现金流的企业往往一夜之间就垮了,正如”楼起楼落“般虚幻一场,任正非在华为倡导的“让听到炮声的人呼唤炮火”也有这个意思在里面,市场决定后台。

面向对象的类:你是干活的?拉活的?还是忽悠的?

作为边界类人才来说,因为沟通是一个与人打交道的工作,所以人脉的积累才是最为重要的,如何积累能够长期相处的人脉关系将为职业发展打开途径。记得当年很多外企的销售,应该说还是挣了大钱的,比如我的一个做金融FSI行业的销售朋友,因为金融客户关系人脉好,出道时在BEA公司卖中间件给银行,等BEA被ORACLE收购后去了VERITAS,然后卖企业级数据管理给银行,然后继续换,只是每次都去找刚刚进入中国的又出于客户未来发展方向需要的技术。“铁打的营盘流水的兵”,对于销售来说还是蛮恰当的,如果你能够把握好节奏,以客户需求为中心,也许就是“赢家”。

 

控制类人才----忽悠的

 

控制类是面向对象类中最为有趣的一种类,即使是进行面向对象分析设计的时候,如何创建控制类和用好控制类,从某种角度能够看出来面向对象水平的高低,控制类的设计称得上是面向对象类定义的艺术之一。

控制类是由设计者创造出来的一个类,当然任何的创造都是为了解决某种诉求的,比如为了让系统实现更大的业务逻辑与界面的分离以及与数据存储的分离,我在过去的实践经验中就会创建界面控制类和数据访问控制类,来将业务逻辑更加独立出来,为什么这么做呢?因为在现实应用开发中,一个应用的业务逻辑往往并不会经常改变,需求变更大多数来源于输入界面和后台的数据库方面。所以控制类的建立需要具有创新思维。

面向对象的类:你是干活的?拉活的?还是忽悠的?

控制类最大的一个特点就是它自己是不干活的,它指挥别人(其它类)来完成工作。所以控制类就与企业中最为典型的管理职责的岗位相对应。如同控制类常常完成的功能那样,管理者最大的一个工作是流程的制定以及相互之间配合的规则的制定。

从控制类中还启示了我们管理的一个基本但是很重要的原则:“放手并监督”!当我们启用人替我们落实具体工作的时候,我们应该信任TA,当然选择的时候我们是要做好为什么选择TA的功课的,一旦选择了,我们就要充分的授权,让TA去放手工作,但是充分授权不等于放任自流,要随时“监测”现状,监督的目的不是为了管,而是在需要的时候能够及时提供必要的帮助。现实中“甩手掌柜”的老板往往最后都会后悔自己过度的“信任”带来的失败和损失,不肯撒手的老板总是在抱怨自己累的要死要活的,手下如何的不得力。而“放手并监督”的关键在于“重重的放下”同时“轻轻地监督”,个中的力度和技巧就是管理的智慧了。

 

有趣的HOOKs:换位思考与共情能力 

在我之前写的公众号文章《用例图中Actor之眼让你不再雾里看花》中的“开脑洞:Actor之眼就是换位思考的精髓”中指出的换位思考的能力其实与共情(EMPATHY)能力还是存在极为重要的关联的,是具有共通性的。

面向对象的类:你是干活的?拉活的?还是忽悠的?

共情(EMPATHY)能力,或译作移情能力,指的是一种能设身处地体验他人处境,从而达到感受和理解他人情感的能力。共情是指可以深入他人的感受,理解他人的能力。共情往往也被成为同理心、投情、同感等。 

面向对象的类:你是干活的?拉活的?还是忽悠的?

我觉得最为理工科人往往被成为”直男“之类的,其实都是再说情商出了问题或者情商的短板,而学会和提升自己的共情能力我觉得是最为直接提升自己情商的快捷通道,共情做的好,就能够让自己的情商实现弯道超车。

说起技术人员常常看不起销售的事情,其实销售不只是会喝酒送礼,那只是细枝末节而已,有一种境界你真的不懂,销售们的共情能力就值得技术们好好学习的。共情能力不好,连谈恋爱也会缺点什么的。

面向对象的类:你是干活的?拉活的?还是忽悠的?

”共情“这个词是由人本主义创始人卡尔.罗杰斯提出来的概念,当时是用于心理咨询师的,是指心理咨询师能够体验他人内心世界的能力,后来这个专业的东西随着互联网随着心理学的大众化,就被这些非心理学的我们都了解和引用了。

 

好吧,我们看一看罗杰斯的一些语录,一起吸收一点共情的能量吧。

1. 容许自己去理解他人,具有极大的价值。同时,理解是以一种双重的方式丰富自己。

罗杰斯说,“对于从别人那里听到的大多数陈述,我们的第一反应就是对此作出直接的评价或判断,而不是去理解它。当一个人表达了某种感受,态度,信念,我们倾向于不假思索地认为,“那是对的”,“那是愚蠢的”,“那是不正当的”,“那是不合理的”,“那是错误的”,“那是不友好的”。我们很少容许自己去仔细地理解他的陈述对他本人来说究竟有什么意义。我们认为,这是因为理解会带来风险。如果我们让自己真正去理解另一个人,我们或许会被那种理解所改变。我们都害怕改变。

理解是在以一种双重的方式丰富自己。他说:“当我们与那些陷入痛苦的来访者一起工作时,我们进入并努力去理解他们的稀奇古怪的世界,去理解并认识那种感到生活过于悲惨而无法忍受的态度,理解那种感觉自己卑微无用--每一种理解都以某种方式丰富了我们自己。我们从这些体验中以各种方式学到的东西使我们发生变化,使我们与众不同,并且使我们成为一个更能与他人共鸣的人。也许更为重要的事实是,我们对这些当事人的理解使得他们也发生变化。这种理解使他们接纳自己的恐惧和稀奇古怪的想法,接纳不幸和沮丧的感受,接纳他们充满勇气,善良,爱和敏锐感受的那些重要时刻。

面向对象的类:你是干活的?拉活的?还是忽悠的?

2.接纳当事人,把他的感受,态度和信念作为他真实而至关重要的一部分如实接纳下来,才是在协助他变成一个人。

 从某种意义上来说,每个人自己都是一个海岛,只有他首先乐意成为自己并得到容许成为他自己,他才能够同其他的海岛搭起桥梁。

 

罗杰斯认为,“好的人生,是一種過程,而不是一種狀態;它是一個方向,而不是終點。”能夠達到這一種目標的人就是心理和諧的人。而作為心理和谐的人,有几个特点:

1、他們坦誠地對待自己的经历

2、他們试图生活在现实的空間里

3、他們愿意相信自己的感覺

4、他們能夠深刻而敏感地体会到自己的情感。

面向对象的类:你是干活的?拉活的?还是忽悠的?

 

有兴趣的朋友可以找来罗杰斯的著作学一下,书中无论是罗杰斯有关治疗、个人成长、教育、科学、哲学、社会问题等方面的见解,还是有关他个人的经历都在本书中展现了出来。本书是由罗杰斯的学生和同事从其一生的16本著作和200多篇论文中精选而成的,编者与罗杰斯之间不仅仅在工作上还在情感上都有密切的关系,称得上”浓缩的都是精华“了,也可以节省大量的时间。

 

公众号文章著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。