上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 20 下一页
摘要:树形结构在软件中随处可见,比如操作系统中的目录结构,公司组织结构等等,如何运用面向对象的方式来处理这种树形结构是组合模式需要解决的问题。组合模式通过一种巧妙的设计方案来使得用户可以一致性地处理整个树形结构或者树形结构的一部分,也可以一致地处理树形结构中的叶子节点(不包含子节点的节点)和容器节点(包含子节点的节点),本次我们就将学习一下用来处理树形结构的组合模式。 阅读全文
posted @ 2017-06-26 23:54 EdisonZhou 阅读 (783) 评论 (0) 编辑
摘要:在现实生活中,我们常常会用到两种或多种类型的笔,比如毛笔和蜡笔。假设我们需要大、中、小三种类型的画笔来绘制12中不同的颜色,如果我们使用蜡笔,需要准备3*12=36支。但如果使用毛笔的话,只需要提供3种型号的毛笔,外加12个颜料盒即可,涉及的对象个数仅为3+12=15,远远小于36却能实现与36支蜡笔同样的功能。如果需要新增一种画笔,并且同样需要12种颜色,那么蜡笔需要增加12支,而毛笔却只需要新增1支。在软件系统中,有些类型由于自身的逻辑,它具有两个或多个维度的变化。为了解决这种多维度变化,又不引入复杂度,这就要使用今天介绍的Bridge桥接模式。 阅读全文
posted @ 2017-06-10 21:33 EdisonZhou 阅读 (1499) 评论 (3) 编辑
摘要:自从订阅了吴军老师的《硅谷来信》之后,对其中一篇介绍Google的目标管理方法OKR的文章记忆犹新。想到自己喜欢在每年年初的时候给自己定制一些规划,于是乎了解了一下OKR并重构了一下我的2017年计划,并借此机会进行一个年中(不是终)回顾,希望能有越来越多人使用OKR给自己设定目标规划,并努力去完成计划,当一年结束时看看自己完成的情况,会有不自觉地自豪感(前提是你得尽力去完成60%以上的情况下)。 阅读全文
posted @ 2017-06-07 22:10 EdisonZhou 阅读 (1163) 评论 (1) 编辑
摘要:在现实生活中,我们的笔记本电脑的工作电压大多数都是20V,而我国的家庭用电是220V,如何让20V的笔记本电脑能够工作在220V的电压下工作?答案:引入一个电源适配器,俗称变压器,有了这个电源适配器,生活用电和笔记本电脑即可兼容。在软件开发中,有时候也会存在这种不兼容的情况,我们也可以像电源适配器一样引入一个称之为适配器的角色来协调这些存在不兼容的结构,这种设计方案即称之为适配器模式。 阅读全文
posted @ 2017-06-05 00:09 EdisonZhou 阅读 (1404) 评论 (0) 编辑
摘要:白夜行《白夜行》是日本作家东野圭吾的代表作,该小说于1997年1月至1999年1月间连载于期刊,单行本1999年8月在日本发行。故事围绕着一对有着不同寻常情愫的小学生展开。1973年,大阪的一栋废弃建筑内发现了一具男尸,此后19年,嫌疑人之女雪穗与被害者之子桐原亮司走上截然不同的人生道路,一个跻身上流社会,一个却在底层游走,而他们身边的人,却接二连三地离奇死去,警察经过19年的艰苦追踪,终于使真相大白。 阅读全文
posted @ 2017-05-18 00:32 EdisonZhou 阅读 (1060) 评论 (0) 编辑
摘要:建造者模式又称为生成器模式,它是一种较为复杂、使用频率也相对较低的创建型模式。建造者模式为客户端返回的不是一个简单的产品,而是一个由多个部件组成的复杂产品。因为,没有人买车会只买一个方向盘或者轮胎,大家买的都是一辆包含轮胎、方向盘和发动机等多个部件组成的完整汽车。如何将这些部件组装成一辆完整的汽车并返回给用户,这是建造者模式需要解决的问题。 阅读全文
posted @ 2017-05-10 00:45 EdisonZhou 阅读 (1685) 评论 (3) 编辑
摘要:相信大多数的人都看过《西游记》,对孙悟空拔毛变出小猴子的故事情节应该都很熟悉。孙悟空可以用猴毛根据自己的形象复制出很多跟自己一模一样的小猴兵出来,其实在设计模式中也有一个类似的模式,我们可以通过一个原型对象来克隆出多个一模一样的对象,这个模式就是原型模式。原型模式的原理很简单,将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象克隆自己来实现创建过程。 阅读全文
posted @ 2017-05-06 00:17 EdisonZhou 阅读 (3076) 评论 (4) 编辑
摘要:上一篇的工厂方法模式引入了工厂等级结构,解决了在原来简单工厂模式中工厂类职责太重的原则,但是由于工厂方法模式的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,从而增加系统开销。那么,我们应该怎么来重构?似乎,我们可以考虑将一些相关的产品组成一个“产品族”,由同一个工厂来统一生产,这就是本次将要学习的抽象工厂模式的基本思想。 阅读全文
posted @ 2017-04-30 00:57 EdisonZhou 阅读 (2317) 评论 (0) 编辑
摘要:上一篇的简单工厂模式虽然简单,但是存在一个很严重的问题:当系统中需要引入新产品时,由于静态工厂方法通过所传入参数的不同来创建不同的产品,这必定要修改工厂类的源代码,将违背开闭原则。如何实现新增新产品而不影响已有代码?工厂方法模式为此应运而生。工厂方法用于创建客户所需要的产品,还向客户隐藏了哪种具体产品类将被实例化这一细节。因此,用户只需要关心所需产品对应的工厂,无须关心创建细节。 阅读全文
posted @ 2017-04-13 00:25 EdisonZhou 阅读 (2308) 评论 (3) 编辑
摘要:工厂模式是最常用的一种创建型模式,通常所说的工厂模式一般是指工厂方法模式。本篇是是工厂方法模式的“小弟”,我们可以将其理解为工厂方法模式的预备知识,它不属于GoF 23种设计模式,但在软件开发中却也应用地比较频繁。简单工厂模式的优点在于:当你需要什么,只需要传入一个正确的参数,就可以获取你所需的对象,而无需知道其中创建的细节。此外,工厂方法模式还有一位“大哥”—抽象工厂模式,会在后面进行介绍。 阅读全文
posted @ 2017-04-08 23:36 EdisonZhou 阅读 (1993) 评论 (4) 编辑
摘要:围城我是在3月份京东图书搞活动时,一起买入了一些书,这本书就在其中。哈哈,说来也是,中学阶段老师们就开始推荐各种必读书籍,自己那时却是不以为意。不过还好那时没看,不然也不会有太多感想,也许这也跟自己的经历有关。我一直觉得《围城》是一本需要多次阅读的书,因为不同的年纪读完会有不同的感受,因此,这次读完后,我希望我能在结婚(进城)后读一次,等我为人父时再读一次,或许会有一些不太一样的感受。 阅读全文
posted @ 2017-04-04 01:36 EdisonZhou 阅读 (873) 评论 (0) 编辑
摘要:单例模式属于创建型模式的一种,创建型模式是一类最常用的设计模式,在软件开发中应用非常广泛。创建型模式将对象的创建和使用分离,在使用对象时无需关心对象的创建细节,从而降低系统的耦合度,让设计方案更易于修改和扩展。每一个创建型模式都在视图回答3个问题:3W -> 创建什么(What)、由谁创建(Who)和何时创建(When)。本篇是创建型模式的第一篇,也是最简单的一个设计模式,虽然简单,但是其使用频率确是很高的。 阅读全文
posted @ 2017-03-25 23:16 EdisonZhou 阅读 (7352) 评论 (10) 编辑
摘要:数学之美记得几年前看完了《浪潮之巅》之后,便知道了吴军老师还有另外一本非常出名的著作《数学之美》,但是一直没有列入计划阅读。直到2016年我看完了《硅谷之谜》以及《智能时代》之后,便自己上网买了一本第二版的《数学之美》。正如李开复博士所说:“在我认识的顶尖研究员和工程师里,吴军博士是极少数具有强大叙事能力和对科技、信息领域的发展变化有很深的纵向洞察力,并能进行有效归纳总结的人之一。”,正是因为在前面基本书中我看到了吴军老师强大的“讲故事”的能力,他能用通俗易懂,深入浅出的语言将技术原理讲清楚,这就十分腻害了,在《数学之美》中他也再次展示了这一点。 阅读全文
posted @ 2017-03-20 00:53 EdisonZhou 阅读 (18321) 评论 (2) 编辑
摘要:构建之法2016年阅读了邹欣老师的《构建之法—现代软件工程》,刷新了我对大学时期软件工程课程的认知,对它是那么地接地气而感到无比的亲切,特别是在我走出学校进入公司参加实习与正式工作加起来的3个年头后,回头看看这本书,觉得更像是一本提前告诉你应该怎样成长的导引。刚好上个周末和我的研究生导师,以及一些师兄师弟一起吃饭,交流技术与人才培养,我不禁回想起邹欣老师这本书对我的影响,我又想起当年我曾经逃过的软件工程课了。此文并非我原创,我只是内容的总结和搬运工,以下内容皆为邹欣老师所写。 阅读全文
posted @ 2017-02-22 00:28 EdisonZhou 阅读 (875) 评论 (3) 编辑
摘要:智能时代看完了吴军博士的《硅谷之谜》之后,室友肖老板立即向我推荐了吴军博士的另外一本书,也就是这本《智能时代》,当然他也买了,于是乎我就拿来看了。信息时代余波未尽,智能时代又来了,机器人跟人类抢饭碗,社会需要的人则会越来越少,很多人都会被淘汰。借用吴军博士的话,任何一次技术革命,最初受益者都是发展它、使用它的人,而远离它、拒绝接受它的人,在很长的时间里都将是迷茫的一代。在智能革命即将到来之际,作为普通人和企业都应该拥抱它,让自己成为2%的受益者,而我们IT从业人员更需要在这样的环境里学会生存,因为这是最好的时代也是最坏的时代! 阅读全文
posted @ 2017-02-20 21:21 EdisonZhou 阅读 (2645) 评论 (0) 编辑
摘要:硅谷之谜几年前研一的时候阅读了吴军博士的《浪潮之巅》,一览处于浪潮之巅的各个明星IT公司的兴衰沉浮,好不过瘾。作为《浪潮之巅》的续集,《硅谷之谜》则让我对硅谷这个神奇的地域有了新的认识,古人有云:罗马不是一天建成的。同理,硅谷也不是一时就可以发展起来的,吴军博士对硅谷的起源和发展进行了详细的分析,对硅谷的创新力进行了深刻的剖析,最重要的是他还把硅谷的经验提升到了理论高度。正如李开复所说,相比《浪潮之巅》,《硅谷之谜》则又上了一个台阶。其实我们并不需要复制一个硅谷,而只需要借鉴它的经验,结合各地的实际情况,按照信息时代的规律办事。 阅读全文
posted @ 2017-01-22 17:17 EdisonZhou 阅读 (453) 评论 (0) 编辑
摘要:解忧杂货店2016年我的生日时,我的表弟送了一本书《解忧杂货店》给我。我从没有读过任何一本关于东野圭吾的书,也没看过它的推理小说,只知道貌似这本书是2015年Kindle上最热的付费电子书,亚马逊2015年度畅销书排行榜第二名。据说,同名华语电影《解忧杂货店》已经开拍,预计2017年上映,我已经迫不及待期望它的上映了。在这本书的五个章节里,采用了不同的视角来分别讲述五个跨越时空的故事,有五位咨询者纷纷向杂货店写信,倾述他们的烦恼。 阅读全文
posted @ 2017-01-05 22:30 EdisonZhou 阅读 (4320) 评论 (3) 编辑
摘要:2017 Plan转眼之间,又是一年。对于我来说,2016年是个多事之秋,身边发生了太多的故事,我多么希望能够像事务(Transaction)一样,执行完成之后能够保持一致性与持久性,可惜事与愿违,现实总是很残酷。虽然发生了很多事,想表达的也很多,但是等到自己提笔的时候却发现好像也没什么可写的,自己那点伪文青气息仿佛也早已不在,只能是为赋新词强说愁。于是,点开音乐播放器,找到了一个经典华语怀旧老歌专辑,播放全专辑,打开博客园,按照国际惯例,这个时候需要总结一下我的2016了,也顺便展望一下2017,不然怎么能有逼格呢? 阅读全文
posted @ 2016-12-10 22:08 EdisonZhou 阅读 (1467) 评论 (12) 编辑
摘要:MSSQL2008 T-SQL Fundamentals事务和并发是数据库中一个比较重要的概念,本篇会介绍事务及其属性,解释Microsoft SQL Server如何使用锁来隔离不一致的数据,如何解决阻塞状态的问题,以及当以不同的隔离级别来查询数据时,如何控制数据一致性的级别。另外,还会介绍死锁问题和如何减少死锁的发生,并就如何减少死锁的发生而提供了一些值得借鉴的最佳实践。 阅读全文
posted @ 2016-12-04 12:58 EdisonZhou 阅读 (10047) 评论 (2) 编辑
摘要:MSSQL2008 T-SQL FundamentalsMicrosoft SQL Server 2008 T-SQL语言基础是微软数据库技术内幕系列的一本,同时它也是我的2016读书计划中的一本,因此我也将我学习过程中记录的一些点汇总成此文,与各位园友分享。上一篇介绍了SQL Server的体系结构、查询、表表达式以及集合运算。这一篇会介绍五、透视、逆透视及分组,数据修改,事务和并发以及可编程对象。最后,我也向各位推荐这本书,值得各位微软技术的程序员看看。本篇有很多例子,一方面是我挑选的书中案例,另一方面也作为我以后的参考,把书读薄嘛。 阅读全文
posted @ 2016-11-30 00:34 EdisonZhou 阅读 (1877) 评论 (5) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 20 下一页