摘要:
自己在互联网公司待了很多年,大多数人的职业发展方向有两种。 第一,在公司继续发展技术或者走向管理,继续在职场层级上努力爬上,更高的职位、更高的薪水、更多的权利、更多的资源协调。 第二,一些人加入创业团队,期望把某个项目做成功,然后上市,上市后自己手里的期权价值放到很多倍,奔向财务自由。 第一种,是大 阅读全文
摘要:
曾经以为多学一些技能,提高个人的生存能力,就是成长。 曾经以为多读些书,多懂的些道理,内化到个人行为和思维模式中就是成长。 曾经以为多交一些朋友,多增长一些见闻,对这个大千世界多一些了解就是成长。 殊不知其实成长最为重要的不是外部的这些见闻或是道理,而是内心状态的调整。 反思近半年的个人经历,遭受过 阅读全文
摘要:
众所皆知,我们的生存必须依赖外部资源,从最基本的食物、空气、水 等维持生命的基础资源到 住所、交通、教育、医疗等保障生活的社会资源,都是必须依赖和消耗的,但是不可否认的是,资源总是有限的,现在连干净的空气都需要付费购买净化器才得以使用。 既然资源是有限的,那么必定要有使用门槛才能让有效的资源流入到有 阅读全文
摘要:
无意中接触到《生活的哲学》这本书,里面讲的是西方的比较重要的几种哲学家的思想,像是爱比克泰德、苏格拉底、伊壁鸠鲁、柏拉图、亚里士多德 等先贤。 对于哲学和宗教的态度,目前我的观点仍然是我们这些平民百姓必须以辩证的眼光、怀疑的心态来接触这些伟大的任务和思想。因为读书的意义在于实用,谁的思想更能帮助到我 阅读全文
摘要:
前些天在和同事聊天谈论起新项目或者突发事件对项目排期的影响,他们推荐了《稀缺》这本书,这几天读完后,觉得这本书对于我们平日里繁忙的工作安排以及无序的生活秩序有着重要的积极影响,借这个写读书笔记向大家推荐一下这本书。 你我的工作与生活中是否有过以下场景? 我刚才在忙着处理xxx,忘记了重要的会议或要处 阅读全文
摘要:
前两天在飞机上看了一本书名《早起的奇迹》的书,作者是 Hal Elrod,讲的是早起的意义还有如何养养成早起的习惯。让我收获最大的倒不是其中的内容,而是现在作者在通过各种方式将“早起”做成了一项事业,不断在帮助别人成长,养成早起的习惯,进行自我升级,告别平庸和低配,追求理想的生活和人生。 想来自己从 阅读全文
摘要:
时间飞逝,想来工作已经八年了。八年的时间是一名新生儿从出生到八岁之间的经历的时光。借此机会也总结一下自己这八年的得失和感悟,给自己做一下总结,如果能给读者或是即将走向程序员这条路的人带来一点思考,也是“不亦乐乎”。 09年底在周围人和朋友的帮助下进入了一家互联网公司,记得当时给开出的薪资是“2500 阅读全文
摘要:
操作系统的主要几大管理系统,如进程管理调度系统、内存管理系统、文件系统。在我们平时使用操作系统的过程中,我们接触最多的就是文件系统。因为我们平时无论工作还是生活,我们都要编辑文件 创建文件 来记录具体的工作或事情。下面咱们就说一下文件系统,我们还是从外部使用与内部实现两部分来分开讲。外部调用我们知道我们操作系统内核的外面也就是用户空间下,我们是通过系统调用来使用操作系统提供的功能的,如读取数据包 创建文件等等。那下面我们简单的介绍一下关于文件和目录的系统调用,无论是我们平时使用某类高级语言的函数还是使用shell命令,它们只是封装了这些系统调用来完成功能,所以我们要知道或了解这些系统调用。.. 阅读全文
摘要:
1.时常我们将频繁使用的‘ls’命令打成‘sl’,那就使用一下sl这个命令吧。在我们敲错的时候,肯定会会心一笑。安装: yum install sl -y 或 apt-get install sl在终端下运行sl命令,你会看到动画蒸汽机机头从右边开往左边,这个火车头使用ascll字符绘制的。截图:2.我们很难忘记电影《黑客帝国》上代码在显示屏上瀑布流式的显示,那就尝试一下这个命令吧cmatrix这个命令会在终端生成ASCII字符组成的矩阵风格的动画效果。安装:1.下载源码wget http://www.asty.org/cmatrix/dist/cmatrix-1.2a.tar.gz 2.解压 阅读全文
摘要:
人类是群居动物,所以在我们的群居生活中,无论在工作或生活中总是会遇到一些让我们感到厌恶的人,比如 懒惰、虚伪、狡猾的人。当愤怒无法控制时我们可能会嗤之以鼻,给予正面批评打击;当情绪可控时也会在内心深处给一个人留一个比较差的印象。有时候我们甚至觉得这样的人为什么还会在这个世界上,完全在阻碍世界的进步。直到看了一个动物世界的节目,我才恍然大悟。 这个节目中记录的是各种动物不同的生存技能。狮子依靠自己强有力的爪子和牙齿扑杀猎物维持生存;狼群依靠穷追不舍的追逐和高效的团队合作来维持生存。还有一些动物却是这样的,变色龙通过伪装来引诱猎物上钩,蝎子和蛇依靠自己的毒液给敌人致命一击来满足温饱。 ... 阅读全文
摘要:
任何新技术都是在一点一点的积累中成熟并呈现在世人的面前,就像猿人进程成人也不是一簇而就的,而是在漫长的岁月中一点一点的进化与完善。还比如现代的吸尘器,当前发明吸尘器的那个人只是用了一台风扇的电机和叶片以及一个布口袋制成的,后来也是一点一点的改善成为现在的使用方便的吸尘器。 操作系统的内存管理也是同样的道理,起初的操作系统并没有现代操作系统的虚拟内存管理机制,而是指令直接访问物理内存,并且在内存中同一时间只能运行一个进程,因为如果是多个进程,进程A中的指令有可能会修改进程B的内存地址,造成进程B崩溃或错误的计算结果。 后来开始支持多任务也就是同时可以运行多个进程,为每个进... 阅读全文
摘要:
这里记录一下我监控某组进程的解决办法。 1.首先要获取要监控的进程的进程id,如果你要勇ps grep 那你就out了,强大的linux系统有一个pidof命令,用来查找相关进程的进程id,其实还有一个命令可以做到这个。 比如:pidof php-fpm [work@zhz jiehun]$ pidof 'php-fpm'2333 2162 2155 1659[work@zhz jiehun]$ preg php-fpm[work@zhz jiehun]$ pidof 'php-fpm'2333 2162 2155 1659[work@zhz jiehun]$ 阅读全文
摘要:
所谓白话即是将事物的原理用通俗易懂的语言表达出来,接下来我们就说一说我们平时用到的进程与线程在操作系统中是如何被管理以及调度的。 其实操作系统本质上的意义就是如何让我们更方便的来使用这些如 cpu、内存、网卡 等物理设施,给我们的生活带来便利或更优质的生活享受。如我们打开电脑后,启动操作系统,安装应用就可以在线看电视或者打游戏。或者对于我们技术人员来讲,在我们的开发过程中,假如我们要读取硬盘中的数据,我们直接调用read系统调用就可以,我们无需去关心磁头的移动与柱面扇区如何移动才能读出数据。或者我们分配内存,我们直接调用malloc系统调用就可以分配内存,我们也无需关心内存条到底... 阅读全文
摘要:
今天有个同事问起,php中的正则语法为什么和perl中的正则语法如此的类似,是谁兼容谁?到底正则是什么?所以有了这篇文章 在我们的日常工作中,无论是在php中用正则匹配字符串,还是nginx用正则重写url,还是在vi中查找字符,总是,用处很多也很方便。 那到底什么是正则表达式?为什么各个应用中正则的语法大都相同?下面我们来说一下这几个问题 历史由来:最初的正则表达式出现于理论计算机科学的自动控制理论和形式化语言理论中。在这些领域中有对计算(自动控制)的模型和对形式化语言描述与分类的研究。1940年,Warren McCulloch与Walter Pitts将神经系统中的神经... 阅读全文
摘要:
又一年匆匆的过去了,又到了写年终总结的时候了,目的还是给自己一个思考和回忆过去的机会,来让自己的生活尽量的贴近有规划有思考和总结的轨道上来。 就在13年的正月,我的姨夫因车祸而死于非命。出事的那天的第二天他儿子结婚。他帮助过我很多,由于他从我小的时候就在外经商,所以我暑假寒假一般都会去他那玩,好多第一次接触的东西都是由于他,很多事情的选择和听闻也是由他那来。出事之后,我暗自发誓,在他的家庭需要我的时候,我会尽我所能帮他们解决问题。事情已经发生了一年多了,我依然记得,并且依然这么做的。也希望我将来能够一直记得,一直能够做到。 事情已经过去一年了,对于我来说也是13年发生的最大... 阅读全文
摘要:
一直计划做一个计算机知识体系的系列文章,目的是将自己学过的计算机知识融会贯通,也算是给自己学习计算机以来的一个总结;同时给周围那些同我一样不是计算机专业出身的人一些帮助,让他们能够少走弯路,通过这一系列的文章来尽快的系统的补充完整自己的技术死角。 自己学习的时候,走过很多弯路,比如在不懂汇编的时候竟然拿一本编译原理在看,这种不符合学习顺序的事情希望通过这系列文章不要继续发生在更多人身上。我会结合自己的学习经验和工作经验来讲我所知道的东西通过这一系列的文章来表达出来,将自己认为最有效的学习顺序以及学习内容告诉那些需要的人,希望能够帮助周围的朋友同时以及文章前面的你少走一些弯路。如果... 阅读全文
摘要:
转眼间已经工作近四年了,每年都有新的目标无论是薪资还是技术体系的不断完善。最近这几天“是不是该去大公司待几年”的想法总是不断的涌现在我的脑海中,这个想法从开始参加工作就已经产生了,下面说一下这个由来已久的计划:“刚开始工作的这几年 一是积累技术,因为 不是专业出身,二是积累金钱解决生活以及家庭问题。待到这两个问题都解决之后,去大公司待几年学习更为先进的全面的技术,开拓眼界,做出一些对人们影响更深的一些产品,二是为自己贴上一个光鲜的标签,算是一个资历吧,然后再去小公司去带领团队,将自己的思想和公司业务融合在一起,去干出一些更有意义的事情。”,这就是四年前开始参加工作时的职业规划。 现... 阅读全文
摘要:
“ 一个落后瘦小的小机器人亚当在挑战当前最高端最强大从无败绩的机器人宙斯,屡败屡战,从不退缩,毫无畏惧,奋勇向前与那不可能战胜的对手在厮杀,被打倒了就继续站起来,挨了一拳还击一拳,最终真正战胜了那位不可能战胜的对手,创造了一个新的传奇。" 这是今天无意中看到的一个电影《铁甲钢拳》,看完后那种永不言败永不放弃敢于挑战权威挑战那些不可能的精神让我久久不能平静下来。 看看窗外,商贩依旧在老地方卖着从未更新过的商品,人们提着菜篮子依旧穿梭在这条马路,篮子里的菜品依旧是那些。远处未完工的楼盘依旧在继续建设,那些跟风买房多年的人不久应该就能开始争夺这里的房子了,公交车依旧穿梭在每天走过无数遍.. 阅读全文
摘要:
为什么要有编译系统: 计算机发展初期,程序员或从事计算机科学的人要让计算机代替人去完成大量的计算工作,就得让计算机知道我们要做什么。刚开始使用机器将纸带打孔然后让计算机读取获取二进制数据和指令完成计算,后来可以直接用二进制编写程序让计算机执行,不过对于人类大脑来讲二进制程序不方便阅读和理解,后面就发明了汇编语言,一种用标识符来代替二进制指令的低级语言来编写程序,然后在用汇编编译系统编译成二进制数据让计算机执行。但毕竟汇编是直接操作cpu指令的语言,也是不方便人类正确快速的表达算法,后来就发明了c语言 c++ java等高级语言,越来越接近人类大脑的思维逻辑,大大提高了变成速度和降低了... 阅读全文
摘要:
很多年来,我一直给病人做临终关怀工作。我的病人都是即将死去的人。我将和他们一起共享一段非常独特的时光。我陪伴他们走过生命的最后3到12周的时间。当人们需要面对自己的死亡的时候突然会变得成熟很多。我已经学会了永远不要低估一个人进步的能力。他们有些变化是非常惊人的。每个人都会经历各种的情绪演变,正如你能预料到的,怀疑,害怕,发怒,懊悔,拒绝接受到最终接受这样的事实。每个病人在临终前都找到了办法让自己的灵魂得到安息——每个人。当问及他们有什么后悔的或认识到应该以另一种方式去做的事情时,相似内容的倾诉反复的出现。下面就是最常见的五个:1. 我希望我能活得更真实些,而不是按照他人期望的方式生活。这是最最 阅读全文
摘要:
今天使用explain来查看sql执行情况的时候发现有的东西忘掉了,故作此篇文章来强化此知识点的记忆。1.explain作用exlain 执行结果显示了mysql 存储引擎如何使用索引来处理select语句,能够帮助我们写出效率更高的sql语句,发挥mysql那些被埋没的能力。其实update语句也可以使用explainlai查看其使用情况,需要做的就是将update语句改为select就可以了,后面的条件不变。因为update修改一条记录时也是要先找到这条记录的,故可以替换update为select来用explain查看寻找数据时使用索引的情况。2.使用方式在select语句前加上ex... 阅读全文
摘要:
一.存储命令存储命令的格式: 参数说明:操作命令:set/add/replace缓存的键值客户机使用它存储关于键值对的额外信息缓存过期时间 单位为秒 0 表示永远存储缓存值的字节数数据块1.添加值命令(1) 无论如何都添加或更新的set 命令 (值不存在则添加 存在则更新) set 设置后可以用get命令获取值 也可以使用delete命令删除该值[root@zhz jiehun]# telnet 127.0.0.1 11211Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.set test_k 阅读全文
摘要:
1.功能与说明netstat 用于显示linux中各种网络相关信息。如网络链接 路由表 接口状态链接 多播成员等等。2.参数含义介绍-a (all)显示所有选项,默认不显示LISTEN相关-t (tcp)仅显示tcp相关选项-u (udp)仅显示udp相关选项-n 拒绝显示别名,能显示数字的全部转化成数字。-l 仅列出有在 Listen (监听) 的服務状态-p 显示建立相关链接的程序名-r 显示路由信息,路由表-e 显示扩展信息,例如uid等-s 按各个协议进行统计-c 每隔一个固定时间,执行该netstat命令。提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到3.常用 阅读全文
摘要:
一.AWK说明awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方式:它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕),如果没有指定模式,则所有被操作所指定的行都被处理。awk分别代表其作者姓氏的第一个字母。因为它的作者是三个人,分别是Alfred Aho、Bria 阅读全文
摘要:
最近团队需要分析一下网站各uri在框架中的执行时间,所以想到用awk这个分析字符串能力很强的工具来时间,下面是实现代码,具体看行注释。下面这个是awk 脚本,然后运行 cat 框架日志文件|awk -f hapn.awk|sort -k2nr,结果就行了.#!/bin/awk#desc 统计系统日志发掘请求执行记录#author *********#date 2013.4.24BEGIN { #初始化统计记录个数变量 total_count=0;}/uri:\/[a-z]+/&&/total/ {#匹配日志记录中符合这个规则的记录uri:/accounts/login tota 阅读全文
摘要:
这几年感觉到一个很重要的变化:一直以来觉得父母是座大山,是座港湾,无论我们有什么问题 有什么困难,父母都会帮我们解决,都会把我们照顾的很好。而我也一直没有考虑过这座大山是否依然健壮,是否依然什么都要他们去解决。直到最近几年,也是由于上班的缘故,团聚的时候很少,在思念他们的时候,才恍然大悟,他们已经五十岁了,他们已经开始老了。亲爱的朋友,你们的父母老了吗? 是的,朋友们,随着我们一天一天的成熟,我们的父母在慢慢的衰老。当我们意气风发,决定要干出一番事业的时候,正在走向时代的舞台的时候,他们在慢慢的退居幕后。当我们忙碌、奔波、享受、失败、成功的时候,我们是否去想过没有在身边的父母啊,他们希... 阅读全文
摘要:
wzm PHP攻城师,互联网爱好者 http://wizardmin.com/狂热的互联网爱好者,忠实的移动产品体验者 http://www.zendstudio.net记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华 http://www.hackdig.com/黑夜路人的博客 http://blog.csdn.net/heiyeshuwuphp高手 http://www.phppan.com/php高手http://reeze.cn/php技术+哲学http://www.luanxiang.org/blog/54chen,真名:陈臻。2010年加入小米科技 http://www. 阅读全文
摘要:
有一些是PHP的初学者,是不是很迷茫PHP应该怎么学?应该买什么样的书?到处问人,到处求助?这下好了。正好看到黑夜路人在博客上推荐了一个书单,看上去都非常不错,很多我也没有读过,所以你也不一定每一本都要阅过(怕你看到这么长长的一列吓到,呵呵),当然多读书总不会有坏处。原文地址:http://blog.csdn.net/heiyeshuwu/article/details/8688324 ,这里就顺道推荐一下他的博客了,我也经常去逛# PHP《PHP程序设计》(第2版) –PHP语法和入门最好的书《PHP5权威编程》 –PHP入门后升级书《深入PHP:面向对象、模式与实践》(第3版) –理解PH 阅读全文
摘要:
这是我的技术总监,他教会了我很多东西,所以发出来与大家共勉。 某某,你要辞职了,一个真正的 有责任心、有能力、真心为下属考虑的好老大要离开我们了,我很遗憾,很惋惜!不过还是祝您身体健康,活得精彩! 虽然我们相处了仅仅一年的时间,而且大多都是工作时间,但是我从你身上却学会了很多东西。你教... 阅读全文
摘要:
大概是前一个月吧,我没有带钱和公交卡,而且步行到达目的地需要很长时间,无奈之下,只好在上公交的时候跟司机师傅说明了情况,司机师傅很爽快的给我免票了,心中顿时对这个社会产生了感激之情,这个社会还是有许多好人的。心中暗下决定,等下一次遇到这位师傅,一定要把票给补上。 就在昨天,也就是一个月之后吧,我终于见到了那位师傅。心里再想是否将上一次的票钱给补上,不去补的考虑有这几个:1.时间太久了,司机师傅肯定也忘了 2.其实就是一块钱,无论是司机师傅和我都不会在乎,未免有点小题大作了 3.这个钱其实还是单位的,涉及不到司机师傅的利益。 去补的原因有这两个:1.我之前说过要不票的,2其实这也是最终要的... 阅读全文
摘要:
原文链接:http://www.aqee.net/how-i-read-programming-books/ 我是学电子工程毕业的,在这个专业里我必须要用的编程语言只有C/C++,汇编和Matlab。在参加了一个创业周末的活动后,我开始对软件开发、计算机编程感兴趣,我决定要试一试,要进入这个领域。我发现,要想做一些编程项目,你需要去学一些完全不同的编程语言。 在过去的一年半里,我学会了Java(用于开发Android),Python和Javascript(& HTML/CSS)(... 阅读全文
摘要:
前两天一兄弟给我打电话,他的问题是自己想好好学习计算机编程技术,但是自己想学的东西太多,不知道从何学起,而且学到的东西也在工作中无法用到。这也是我曾经遇到过得问题,因为我也不是计算机专业出身,所以今天我就说一些我对这个问题的看法。 我认为认识一个事物,首先要去了解这个事物的整体,然后再去研究它的内理。就像我们认识一座大楼,我们第一步要先从大楼的四周去看这个大楼的结构,第二步去看这个大楼内部的整体的支撑骨架,第三步才是去研究每一层的结构和房间部署。假如我们首先就从其内部细节开始研究,由于我们对这个事物的整个结构没有了解,就很有可能在一个地方徘徊,可能就在大楼的一层中徘徊,根本就不知道楼上还... 阅读全文
摘要:
明天就是2013年了,时间犹如白驹过隙,好快,因为记得写2011年终总结好像还没过去多长时间,现在又要写12的了。一年一年的就这么过去了,总结一下这一年都干了些什么吧。 今年最大的事情是我结婚了。我们04年开始在一起读书,当年的画面依然记忆犹新。“老师来了叫我一下啊” “嗯” “把你试卷拿来我抄抄” “这个题是怎么回事” 。。。呵呵,当时我们是前后桌。就这样一天一天的过去,07年我们毕业的时候,我拿出当时所有的积蓄好像是50多块钱吧,请她吃了顿饭,在我们学校附近的一家小有名气的餐厅,好像是叫“小天鹅”。那个时候也说不上什么感觉,总觉得毕业后我们就很少再能见到,三年来的学习生活我们... 阅读全文
摘要:
时间过得是如此之快,当年的那位懵懂少年现在已为人夫。 想想以前的那个少年,天不怕 地不怕,什么也不懂,没有技术,没有学历,没有背景,没有人脉,没有工作,没有理想,呵呵,啥也没有,只知道活着就得向前走,没有方向,没有目标。就这样,不知不觉的走到了现在。 随着现在对人生的认识渐渐清晰,更明确自己的理想与自己要走的路,却发现自己已经不是当初的那个什么都敢做的少年了,什么事情都要思前想后,有了太多的顾虑与羁绊,感觉自己没有了当年的热情和勇气,好像已经被这个社会所驯化了一样,变成了芸芸众生的一分子,我的生活和理想从之前的追究自己的理想也慢慢的在向大众所追求的那个方向靠拢,什么房子啊,车子啊,... 阅读全文
摘要:
写完c语言代码要部署到别的机器上,一个makefile文件是必不可少的,make命令编译c程序确实很方面,而makefile手动写 由于语法复杂 而且不同于高级语言,所以手动写出可正常使用的makefile成本太高,下面就介绍一下如何运用autoconf和automake两个开源工具自动生成makefile 1.新建一个简单的c程序文件 main.c 内容如下: 1 #include 2 int main() 3 { 4 printf("auto create makefile! "); 5 return 0; 6 } 2.在she... 阅读全文
摘要:
我喜欢爬山,喜欢攀登的感觉,喜欢在山顶享受风景的喜悦。 其实 最重要的是我在爬山的过程中能够体会人生的一些道理。我觉得我们的人生就像是在爬一个巨大的金字塔,同样的从山脚下出发,随着时间的推移和个人的努力,有的人站在离山脚不远的地方,有的人站在山腰中欣赏风景,有的人站在山顶上俯视大地。当然 这里说的山脚和山顶并不是说的一些功名利禄的一些东西,而是 追寻内心的声音,追求自己的理想。现在有太多的人被浮躁的社会环境和金钱待遇迷失了自己,急功近利,忘了生活的本质,忽略了内心的声音。所以这里说的是我们到达我们的理想的登山之路。 在山脚下开始出发。每个人都憧憬着山顶的美好,每个人都信誓旦旦的爬到山顶... 阅读全文
摘要:
首先要告诉大家,我是一个没有上过大学的高中生。在工作与生活中遇到过很多大学生,有的经常跟我说“读大学没有用,都是一些理论”之类的话,在这里我想说一下我的一些体会,当然不是为了证明某个观点是对是错,而是想通过交流让大家明白,读过大学的人应该珍惜学过的东西,不要自暴自弃,利用所学来报效社会与国家;那些像我一样没有读过大学的人 更不应该自暴自弃,安于现状,通过读书和奋斗来改变自己的命运。 先拿我自己当个案例来跟大家汇报一下吧,我是一个没有读过大学的高中生,阴差阳错的进入到了“程序员”行列,刚开始工作的时候,真的是什么也不知道,什么网络协议、操作系统、数据结构、内存分配 等等,对这些概念一无所知... 阅读全文
摘要:
抽象工厂模式是工厂模式的泛化版本,工厂模式是一种特殊的抽象工厂模式。在工厂模式中,每一个工厂只能生产一种具体的产品,而在抽象工厂模式中,每一个工厂可以生产多个具体的产品 名词解释: 1.产品等级:铲平等级结构即产品的继承关系结构,比如 父类是抽象电视机类,有比如海尔电视机 海信电视机 等具体电视机子类。则抽象电视机于具体的电视机子类就构成了产品等级关系。 2.产品族:在抽象工厂模式中,产品族是指同一个工厂生产的,位于不同产品等级结构中的一组产品。比如 海尔电器工厂生产海尔冰箱 海尔洗衣机 这些产品虽属于不同的产品等级接口,却都是海尔工厂生产的,因为称为一个产品族。 案列分析: 需... 阅读全文
摘要:
建造者模式是最复杂的创建型模式,它用于创建一个包含多个组成部分的复杂对象,可以返回一个完整的产品对象给用户,建造者模式关注该复杂对象是如何一步一步创建而成的,对于用户而言,无需知道创建过程和内部组成细节,只需要使用创建好的完整对象即可 复杂对象相当于一辆有待建造的汽车,而对象的属性相当于汽车的部件,建造产品的过程就相当于组装部件的过程。由于组装部件过程很复杂,因此,这些部件的组装过程被“外部化”到一个称作建造者的对象里,建造者返回客户端的是一个建造完成的完整的产品对象,而用户无需关心该对象所包含的属性以及他们的组装方式,这就是建造者模式的模式动机。 将一个复杂对象的构建与他的表示分离,... 阅读全文
摘要:
面向对象设计原则是学习设计模式的基础,每一种设计模式都符合某一种或者多种面向对象设计原则。通过在软件开发中使用这些原则可以提高软件的可维护行和可用性,让我们可以设计出更加灵活也更加容易扩展的软件系统,实现可维护可复用的目标。准确的理解面向对象原则有力与我们更好的学习和理解设计模式。 1.单一职责原则 一个对象应该只包含单一的职责,病也该职责被完整的封装在一个类中。另一种定义是就一个类而言,应该仅有一个引起它变化的原因。 一个类应该只负责一种职责,如果职责太多,将导致系统非常脆弱,可复用性较低,系统的可维护行也被降低。 2.开闭原则 一个软件实体应当对扩展开发,对修改关闭。比如要增... 阅读全文