首页 » 软件开发

小菜和大鸟的编程故事之十三:门面让程序员的程序更加体面

       大鸟说道:“实际上没有学过设计模式去理解三层架构会有失偏颇的,毕竟分层是更高一级别的模式,所谓的架构模式。不过在程序中,有意识的遵循设计原则,却也可以有效的做出好的设计。” “不要告诉我,刚才讲的‘迪米特法则’就会在分层中用得上?”小菜说。 “当然用得上,否则讲它干吗,你当我是在安慰你而临时编个法则来骗骗你呀?来,再来看看你上次写的代码。”阅读全文 »

2013年9月8日
作者:鸡啄米 分类:软件开发 浏览: 评论:16

小菜和大鸟的编程故事之十二:无熟人难办事?--聊设计模式之迪米特法则

       次日傍晚,小菜敲开了大鸟家的门。“回来啦!怎么样?第一天上班感受多吧。”大鸟关心的问道。“感受真是多哦!!!”小菜一脸的不屑一顾。“怎么了?受委屈了吗。说说看怎么回事?”“委屈谈不上,就感觉公司氛围不是很好。我一大早就到他们公司,正好我的主管出去了不在公司。人事处的小杨让我填了表后,就带我到IT部领取电脑,她向我介绍了一个叫‘小张’的同事认识,说我跟他办领取电脑的手续就可以了。阅读全文 »

2013年8月31日
作者:鸡啄米 分类:软件开发 浏览: 评论:7

小菜和大鸟的编程故事之十一:三层架构 分层开发

       ”大鸟,我们继续讨论吧!”小菜很沮丧的说。“小伙子,不会修收音机也是很正常的,没什么大不了的,用不着丧着一个脸。好象失恋一样,男人再强也要学会说‘不’。”大鸟安慰着说,“如果你的目标是要成为修理电器专家,那么你连收音机都不会修,那是很郁闷的事。但你现在的目标是什么?”“我想成为软件架构师,编程专家。”小菜毫不含糊的说。阅读全文 »

2013年8月17日
作者:鸡啄米 分类:软件开发 浏览: 评论:16

小菜和大鸟的编程故事之十:会修电脑不会修收音机?--谈设计模式原则

       小菜学会了反射后,正在兴奋,想着大鸟的问题。此时,突然声音响起。“死了都要爱,不淋漓尽致不痛快,感情多深只有这样,才足够表白。死了都要爱……”原来是小菜的手机铃声,大鸟吓了一跳,说道:”你小子,用这歌做铃声,吓唬人啊!这要是在公司开大会时响起,你要被领导淋漓尽致爱死!MD,还在唱,快接!” 小菜很是郁闷,拿起手机一看,一个阅读全文 »

2013年8月11日
作者:鸡啄米 分类:软件开发 浏览: 评论:9

小菜和大鸟的编程故事之九:反射--程序员的快乐

       “到底如何去改良策略模式呢?”小菜恳切地问道。“你仔细观察过没有,你的代码,不管是用工厂模式写的,还是用策略模式写的,那个分支的switch依然去不掉。原因在哪里?”大鸟反问道。“因为程序里有下拉选择,用户是有选择的,那么程序就必须要根据用户的选择来决定实例化哪一个子类对象。无论是在客户端窗体类编程还是到工厂类里编程,这个switch总是少不掉的。问题主要出在这里。”小菜十分肯定的说。阅读全文 »

2013年8月3日
作者:鸡啄米 分类:软件开发 浏览: 评论:9

小菜和大鸟的编程故事之八:初识"策略模式"

       小菜次日来找大鸟,说:“《深入浅出设计模式》的第一章我看完了,它讲的是策略模式(Strategy)。“策略模式”定义了算法家族,分别封装起来,让它们之间可以互相替换, 此模式让算法的变化, 不会影响到使用算法的客户。看来商场收银系统应该考虑用策略模式?阅读全文 »

2013年7月20日
作者:鸡啄米 分类:软件开发 浏览: 评论:12

小菜和大鸟的编程故事之七:工厂模式不好用了?

       小菜心里想:“大鸟要我做的是一个商场收银软件,营业员根据客户购买商品单价和数量,向客户收费。这个很简单,两个文本框,输入单价和数量,再用个列表框来记录商品的合计,最终用一个按钮来算出总额就可,对,还需要一个重置按钮来重新开始,不就行了?!” 商场收银系统v1.0关键代码如下:...阅读全文 »

2013年6月7日
作者:鸡啄米 分类:软件开发 浏览: 评论:4

小菜和大鸟的编程故事之六:简单工厂模式之体验

       次日,小菜再来找大鸟,问道:“你昨天说计算器这样的小程序还可以用到面向对象三大特性?继承和多态怎么可能用得上,我实在不可理解。” 大鸟:“小菜很有钻研精神吗?好,今天我让你功力加深一级。你先要考虑一下,你昨天写的这个代码,能否做到很灵活的可修改和扩展呢?”阅读全文 »

2013年5月28日
作者:鸡啄米 分类:软件开发 浏览: 评论:6

小菜和大鸟的编程故事之五:业务和界面分离

       小菜:“你的意思是分一个类出来? 哦,对的,让计算和显示分开。” 大鸟:“准确的说,就是让业务逻辑与界面逻辑分开,让它们之间的耦合度下降。只有分离开,才容易达到容易维护或扩展。” 小菜:“让我来试试看。”阅读全文 »

2013年5月21日
作者:鸡啄米 分类:软件开发 浏览: 评论:4

小菜和大鸟的编程故事之四:抛弃复制 选择复用

       小菜:“我明白了,他说用任意一种面向对象语言实现,那意思就是要用面向对象的编程方法去实现,对吗?OK,这个我学过,只不过当时我没想到而已。” 大鸟:“所有编程初学者都会有这样的问题,就是碰到问题就直觉的用计算机能够理解的逻辑来描述和表达待解决的问题及具体的求解过程。...”阅读全文 »

2013年5月14日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

小菜和大鸟的编程故事之三:代码规范和重构意识

       本文续接上文。       大鸟说:“且先不说出题人的意思,单就你现在的代码,就有很多不足的地方需要改进。比如变量命名,你的命名就是ABCD,变量不带有任何具体含义,这是非常不规范的;判断分支,你这样的写法,意味着每个条件都要做判断,等于计算机做了三次无用功;数据输入有效性判断等,如果用户输入的是字符符号而不是数字怎么办?阅读全文 »

2013年5月7日
作者:鸡啄米 分类:软件开发 浏览: 评论:2

小菜和大鸟的编程故事之二:面试中代码无错就够了吗?

       小菜今年计算机专业大四了,学了不少软件开发方面的东西,也学着编了些小程序,踌躇满志,一心要找一个好单位。当投递了无数份简历后,终于收到了一个单位的面试通知,小菜欣喜若狂。 到了人家单位,前台小姐给了他一份题目,上面写着,“请用C++、Java、C#或VB.NET任意一种面向对象语言实现一个计算器控制台程序,要求输入两个数和运算符号,得到结果。”阅读全文 »

2013年4月27日
作者:鸡啄米 分类:软件开发 浏览: 评论:9

小菜和大鸟的编程故事之一:活字印刷-面向对象思想的先驱

       本编程系列来自于伍迷家园,是我看过的关于设计模式方面很好的教程之一,在这里推荐给大家,望能喜欢。   话说三国时期,曹操带领百万大军攻打东吴,大军在长江赤壁驻扎,军船连成一片,眼看就要灭掉东吴,统一天下,曹操大悦,于是大宴众文武,在酒席间,曹操诗性大发,不觉吟道:“喝酒唱歌,人生真爽。......”。阅读全文 »

2013年4月19日
作者:鸡啄米 分类:软件开发 浏览: 评论:8

Session之最全面解析

       在web开发中,session是个非常重要的概念。在许多动态网站的开发者看来,session就是一个变量,而且其表现像个黑洞,他只需要将东西在合适的时机放进这个洞里,等需要的时候再把东西取出来。这是开发者对session最直观的感受,但是黑洞里的景象或者说session内部到底是怎么工作的呢?当笔者向身边的一些同事或朋友问及相关的更进一步的细节时,很多人往往要么含糊其辞要么主观臆断,所谓知其然而不阅读全文 »

2013年4月17日
作者:鸡啄米 分类:软件开发 浏览: 评论:7

利用Memcache解决数据库高并发访问的瓶颈问题

       对于高并发高访问的Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题。特别当你的程序架构还是建立在单数据库模式,而一个数据池连接数峰值已经达到500的时候,那你的程序运行离崩溃的边缘也不远了。很多小网站的开发人员一开始都将注意力放在了产品需求设计上,缺忽视了程序整体性能,可扩展性等方面的考虑,结果眼看着访问量一天天网上爬,可突然发现有一天网站因为访问量过大而崩溃了,到时候哭都来不及。阅读全文 »

2013年4月10日
作者:鸡啄米 分类:软件开发 浏览: 评论:10

几大互联网公司的数据库访问层架构概览

       在WEB开发中,数据库的数据读写和传输一向是瓶颈,在此基础上的解决方案基本都是数据库连接层的设计,一个公司数据库连接层的牛B与否可以标识这个公司的全局规划的“工艺水平”到达一个什么样了。下面的内容来自明查暗访,决无BS之意,旨在提供给需要统一规划整体架构的架构师一个帮助。  1、百度 关键词:dbproxy,服务器都是flash卡,DBA与开发者都不关心分裤分表(半自动)阅读全文 »

2013年4月9日
作者:鸡啄米 分类:软件开发 浏览: 评论:3

Mysql大数据量存储及访问的设计讨论

       一、引言 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载...阅读全文 »

2013年4月7日
作者:鸡啄米 分类:软件开发 浏览: 评论:5

网络负载平衡系统使用memcache同步session的方法

       前面讲了如何配置Windows Server 2003网络负载平衡系统,那么在web架构中配置好Server群集后,我们肯定会考虑session共享和同步的问题。试想下,同一个IP访问负载平衡系统中的同一个网页会被分配到不同的服务器上,而如果session不同步,那么对于同一个登录用户,就会出现一会是登录状态一会又不是登录状态的问题。阅读全文 »

2013年4月1日
作者:鸡啄米 分类:软件开发 浏览: 评论:6

Windows Server网络负载平衡系统为何只有部分主机能够正常通信及其他常见问题

       鸡啄米在配置Windows Server 2003网络负载平衡(NLB)系统时,遇到了若干小问题,现小总结下跟大家分享。 一、为什么网络负载平衡系统中只有部分主机能够正常通信? 首先,我在配置包含两台主机的NLB群集时,网络负载平衡的属性页中选择的模式是“多播”,并勾选了“IGMP多播”,但是用网络调试助手测试,在群集外的第三台主机上只能与群集中一台主机通信...阅读全文 »

2013年3月20日
作者:鸡啄米 分类:软件开发 浏览: 评论:6

VC++串口通信编程详解

       在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令阅读全文 »

2013年3月15日
作者:鸡啄米 分类:软件开发 浏览: 评论:10