热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

设计模式15——行为型模式之命令模式

定义:命令模式(CommandPattern),将一个请求封闭成一个对象,从而使你可用不同的请求对客户进行参数化;对请求排除或记录请求日志,以及支持可撤销的操作。类型:行为型模

终于到周末可以有时间更新自己的博客了。果不其然,一开始上班,时间就比较紧凑,每天发生的一切感觉都是在那么短短的几小时之内就过去了。在公司有时候会感觉自己收获很多,有时候也会因为自己用几个小时解决了别人一句话就可以解决问题而懊恼。不管怎么样自己的生活就在这样日复一日的过去,直到自己突然发现每天的自己都没有对自己生活有过思考或者是反思。

自己的生活习惯是不管睡的多晚,进被窝后都会用手机到《one》(韩寒监制的一款应用,上面的文章可读性很高,推荐给大家)上去读一篇文章再睡。 前几天自己在上面读到一篇叫《日落天通苑》(点击文章名可以阅读)的文章感触很深。其实描写北漂生活的文章在网络上并不少见,其中或者励志,或者悲惨,或者苦闷等等什么都有。但是这篇文章的作者以一种不一样的经历,让我对北漂又有了深刻的认识,原来北京还有一个北漂聚集的地方,那里叫天通苑

天通苑到中观村说远也不算太远。坐地铁倒两站就可以到。文章中对租户收租的描写,对各色人物的描写,让自己觉得生活的中关村和天通苑是两个世界。

---------------------------------------------------------------分割线-----------------------------------------------------

一,坚持写博客的人都有一颗执着的心

过年公司放了七天假,自己是坚持到30号才离开的公司。放假期间自己把以前学习笔记整理成了博客文章。有这个想法也是因为自己在一次翻看笔记本的时候,发现笔记本已经快快被记得满满一本了,有些知识虽然当初记了笔记,但是还是忘记或者记不清了。所以就下定决心要把这些知识点通过整理成博客文章的方式温习一遍。在检验自己学习成果的同时把这些知识分享出去。

放假期间总共整理了七篇关于C#的系列文章,名字叫《C#小知识》。目前还有两到三篇没有整理出来(主要是没时间)。有时候人需要耐下心做一件事,这样才会有所收获。年假自己给自己的目标就是把这些学习笔记整理成博客文章。在发表到博客园,CSDN和51CTO后,效果还是不错的,有些细心的读者指出了其中的错误,自己及时的改正了这些错误,同时也学习了更多的知识。年后还成功在CSDN为这个系列申请了专栏。还有一件令自己非常高兴的事,前天收到51CTO的站内消息,说自己关于13年年终总结的文章获得了文章优秀奖,会收到一个大的阿狸抱枕的礼物。这也算是自己写博客路上的一点鼓励吧。

为什么自己一直坚持写博客?记不清自己为了写一篇博客,想示例代码,写示例代码,中间不可预期的又发现新的问题,解决这些新问题,度过了多少个不眠夜。有时候也想过干嘛这么累的一直坚持写博客呢,又没有人给自己稿费,不定时的还会收到讥讽的评论。现在想想理由也特简单,用博客记录进步的点滴,自己的目标不管有多远,只要自己一步一步的走,就算达不到目的,也不会有什么遗憾。因为自己的这些文章见证了自己曾经努力过。

对于不写博客的人,不可能切身体会到写博客的辛苦,特别是写一篇优秀的博客。有时候,一篇优秀的文章需要作者付出的不是一天或者两天的时间。特别对于技术文章来说,作者为了论证自己理论的正确,需要列举有代表性的例子来给读者看,这些都会花费很多时间。还有就是在写文章的时候,为了某个细节能够让读者看明白,进行深入解释的时候,不确定的又会发现新问题。

对于一篇文章,会有人给出客观的评价,指出你的缺点,让你有机会进步。有时候也会受到讥讽的评论,说这么简单的问题还拿来写博客,一个**命令就可以解决,是来炫耀么?说实话,收到这样的评论的时候,自己的心里是不好受的。但是想想那又有什么关系呢?走自己的路让别人说去吧,反正我也没有求着你来看我写的博客。

对于概念性问题,每个人的理解程度是不一样的,对于同一个问题,不同人的解决方法也是不一样的。既然您觉我对概念的解读有误差,解决问题的办法太繁琐,为什么不指出来大家交流一下呢,为什么非要说一些讥讽的话呢?

 

二,关于学习方法

总体来说自己这次整理的学习笔记收到读者的反馈效果还是挺不错的。有一些人让我介绍自己的学习方法。问我有几年工作经验了。我只能说平时要做一个有心人,多留心,用心。对于自己陌生不熟悉的知识多记笔记,时间长了,自己的笔记本会见证自己的进步。

我一直觉的看书是学习的最快途径。特别是阅读经典图书,同时又能锻炼人的耐性。对于初学者刚开始看书可能会有很多不懂,但是一定要坚持弄懂,搞明白,多写一些Demo来练习。要不然刚开始一知半解,后来学习更深的知识就更加一头雾水了。会造成恶性循环。但是一味的看书只是在被动的学习,只有通过实践才可以出真知,才会有原来如此的感觉

就好比我觉自己的c#语言已经算是熟练程度了,但是在实际的工作中还是会遇到很多问题。自己现在的体会是语言在特定环境或者业务背景下的使用是变化多端的就跟令狐冲的独孤九剑一样,剑法总共只有九招,但是在实战中却可以千变万化。

所以熟练了编程语言,万里长征才开始第一步。

 

三,事情真的那么简单么?

在学校的时候,自己身边充斥着太多说这简单说那简单的人,原因是他们自己根本不会去做。对于有一定经验的人都知道,除非你对所要解决的问题特别的熟练,有些问题想着很简单,但是在解决它过程中总会遇到新的问题。作为程序员,我觉得应该把“这很简单。。。”这句话从大脑里面根本剔除。要不然这只能显示自己的无知。

进公司时候后,耳边几乎没有听到过什么人说过这样的话。除了总监大人!我觉的总监大人说这话也是有理由的,它要让你对所要解决的问题有信心。因为公司招人不是让你来说一句这很简单就算完成任务了,简单不简单老板不关心,老板只关心你什么时候能把问题解决了。

自己前几天就犯了这样的一个错误。在团队里我负责后端开发,前端代码经验很少(看得懂的水平)。过年后,因为做前端的孩子来的晚了一些,我就主动把他的工作给揽了下来。对于一个没有多少前端代码编写经验的我,现在很是痛苦,写代码很多时候是在尝试,有了错误也不知道从哪里下手解决它们,所以进度非常很慢。更糟糕的是,自己还给老大承诺,要在**时间完成。现在是那个后悔啊!

所以,在自己对某件事没有太多把握的情况下,不要认为那是多么简单的一件事。要不然那只能显示自己的无知。

 

四,新手该怎么写代码

曾经在微博上看到一张程序员实际写代码的时间分配图,原图找不到了,自己就大概画了一个,如下:

bubuko.com,布布扣

我觉得这非常符合我写代码的时候的状态。大部分的时间都耗费在了瞎搞上面。

我现在总结出的写代码的经验是,首先要根据自己要实现的场景把逻辑理清楚,最好先大概的画好一个流程图,,跟周围的讨论一下(或者找老大征求意见

),确定自己的思想没有问题。时间充裕的话,就把它们制作成思维导图,这样也便于自己理解。然后再开始写代码。这样写代码所花费的时间是事半功倍的,而且其中也会收获很多。

 

五,做一个知道付出的人

“当感觉自己的能力距自己的理想太遥远时,说明你该努力了。”生活中有太多人只看到了别人取得的好成绩,应聘到的好工作这些表面现象。谁也不会关心他们背后为之付出的努力。

有梦想并不能代表你拥有什么,值得你去自豪。但是也不代表距离太遥远而显得多么可怕。如果想有所成就,你必须做一个知道努力的人。有很多碌碌无为的人觉得自己需要一个机会,我以前也这么想,只要给自己一个机会,自己绝对可以比现在活的更好。现在自己明白了,机会是眷顾给有准备的人的。没有机会需要努力提高自己的能力,有机会更要加倍努力。因为你要对得起给自己机会的人,他本可以把机会给别人,但是他却给了你。

而且永远不要觉得自己是最努力的,不管如何总有比你更加努力的人存在。来北京之后我感觉自己每天休息的已经够晚了(这里不是比拼谁休息的晚),直到有天听同事说,总监和其它两个组的老大,每天加班到凌晨都是很正的事情。可能他们是领导我们是“小弟”,属于两种不同的人。但是目的都是一样的,领导需要为自己负责的工作努力,“小弟”需要为提高自己的能力努力。

 

六,我也谈“过劳死”

前几天看到一篇文章叫《复旦女博士的生前反省:为什么是我得癌症?》(点击名字看原文),感触很深。其中我体会到的很多意思都是说,人应该活得快乐一点不能太拼,为了事业牺牲自己的健康。

我不否定她在人生最后的日子对人生的解读。试想把我们自己放到“人生快到尽头”的环境下,我们都会回顾自己的人生。如果有机会也会告诫别人一些自己觉得曾经做错了的事情。

人生没有办法,人活着就是为了活得更好,能够有所成就。如果有一天发现身边有无数人比自己优秀。如果自己还是以一副过的平平淡淡就好的心态来要求自己,注定自己也会一生默默无闻,当然了高富帅,富二代除外。

网络上有太多这样的文章,阅读的过程中自己的同情心也确实会让自己感动甚至流泪。但是我觉的看问题应该辩证的看。就好比网络上有很多励志文章,主人公都是通过付出**的艰辛取得成功,看过后立马觉得自己如果这么做也会成功。自己也这么做过,直到突然有天发现,任何人的成功都有其独特的一面,自己不可能去效仿别人,复制别人的成功。

时间不会为了任何一个人而停顿,就算自己真的过劳死,相信也不会有太多的遗憾,因为自己并没有虚度光阴。

 

七,工场的一些体会

李开复作为大学生心灵导师,影响了80后甚至现在的90后。所以创新工场在很多大学生眼中,还是比较有影响力的。有些人文自己工场的招聘条件高么,是不是需要在某些方面有特别突出的特长。

曾将创新工场在自己心中确实是一个神圣的地方。但是当自己身处时,发现也没什么。对于我所接受的招聘和我所理解的工场招聘就是,需要一定的经验和优秀的解决问题和自我学习的能力。工场里孵化的都是创业团队,项目工期比较紧凑,就算是周六也会发现有很多团队还在加班。所以,团队不可能招聘一个没有任何经验的人,然后花费大流量时间去培训你。所以,只要你想进工场体会,只要自己在某些方面有一定的经验和能力,还是很容易进的。

在工场确实可以学到自己去大公司和小公司都接触不到的东西(博主在小公司和大公司都实习过)。技术就不用说了,接触新的项目肯定有很多技术和软件设计思想可以学习。其它的包括创业中遇到的各种问题,带领团队的问题,这些都能够让自己有机会接触得到。所以在工场,不尽可以学习得到新知识,也会有机会去修身,去学习创业中遇到问题该怎么解决,带领一个团队需要什么素养。

创业是很辛苦的,以前只是在电视上或者书本上看到,很多事情都是在酒桌上谈成的。现在自己是深有体会,也不要想着老板们都愿意这样去干,但是为了团队,没有办法。其实我觉得这才是中国式最大潜规则。

前天吃饭我觉得我犯了两个错误。因为工场是大锅饭,平时我盛完饭都是找个地方一个人吃。那天老板刚好路过我身边看到我在一个人吃饭,就跟我说他也在那里吃了,我就说了声好。更不可思议的是在整个吃饭过程中我就没跟他说一句话。

还有一个细节做的不好,就是在吃饭的过程中我去拿了一张餐巾纸。事实上不管老板需要不需要我都应该给老板也带一张的。直到老板自己去拿餐巾纸的时候,我才发现了这个生活细节。如果抓住这些细节,本可以给自己的个人素质加很多分的,但是自己却没有发现。

到最后自己也才发现,也许只有在创新工场自己才有机会,让老板跟自己坐到一起吃饭。所以生活中应该注意细节。

 

八,我佩服的三个人

在我眼中做技术的有两种人:一种叫大牛,一种叫大神。

一个人如果技术牛X可以被称为大牛,但是你要被称为大神,不仅要技术牛X更要人品OK。自己佩服的大神有三个人:

第一个,“左耳朵耗子”—陈浩。怎么说呢,可能大神们对于自己的世界都是比较孤傲的吧。他的技术博客《酷壳》是自己收获最多的博客之一。

第二个,“圣殿骑士” 。一个用技术游历各国。不紧让自己的人生有意义,而且很精彩。

第三个,王垠。怎么说呢,有网友评论他是“狂人”。看王垠的文章,确实是,他思考问题的方式确实跟别人不一样。而且每次读他写的文章自己都会收获很多。

 

尾声:

好吧又到结尾了,用一位同事空间日志里面的话,作为结尾吧。“青春的尾声悄然敲响,我站在尽头送别剩下为数不多的光阴。婚礼上同学聚会上,越来越多的人开始为人妻为人母,我们在经受着一场不可逆的转变。转变以前是快乐的,转变后也会是另一种快乐,但是转变的过程是痛苦的,面对终将失去的,我们有一万个舍不得却又不得不接受。”





毕业实习交流群:221376964。你也可以关注我的新浪微博进行交流。

bubuko.com,布布扣


推荐阅读
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文介绍了如何使用jQuery根据元素的类型(如复选框)和标签名(如段落)来获取DOM对象。这有助于更高效地操作网页中的特定元素。 ... [详细]
  • 本文介绍如何在 Xcode 中使用快捷键和菜单命令对多行代码进行缩进,包括右缩进和左缩进的具体操作方法。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 如何在WPS Office for Mac中调整Word文档的文字排列方向
    本文将详细介绍如何使用最新版WPS Office for Mac调整Word文档中的文字排列方向。通过这些步骤,用户可以轻松更改文本的水平或垂直排列方式,以满足不同的排版需求。 ... [详细]
  • 本文介绍如何通过Windows批处理脚本定期检查并重启Java应用程序,确保其持续稳定运行。脚本每30分钟检查一次,并在需要时重启Java程序。同时,它会将任务结果发送到Redis。 ... [详细]
  • 本文介绍如何通过SQL查询从JDE(JD Edwards)系统中提取所有字典数据,涵盖关键表的关联和字段选择。具体包括F0004和F0005系列表的数据提取方法。 ... [详细]
  • 本文详细介绍了如何通过命令行启动MySQL服务,包括打开命令提示符窗口、进入MySQL的bin目录、输入正确的连接命令以及注意事项。文中还提供了更多相关命令的资源链接。 ... [详细]
  • 本文介绍如何使用 NSTimer 实现倒计时功能,详细讲解了初始化方法、参数配置以及具体实现步骤。通过示例代码展示如何创建和管理定时器,确保在指定时间间隔内执行特定任务。 ... [详细]
  • 本文介绍了在Windows环境下使用pydoc工具的方法,并详细解释了如何通过命令行和浏览器查看Python内置函数的文档。此外,还提供了关于raw_input和open函数的具体用法和功能说明。 ... [详细]
  • MATLAB实现n条线段交点计算
    本文介绍了一种通过逐对比较线段来求解交点的简单算法。此外,还提到了一种基于排序的方法,但该方法较为复杂,尚未完全理解。文中详细描述了如何根据线段端点求交点,并判断交点是否在线段上。 ... [详细]
author-avatar
白骨精哥哥_350
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有