`
liuwei1981
  • 浏览: 749977 次
  • 性别: Icon_minigender_1
  • 来自: 太原
博客专栏
F8258633-f7e0-30b8-bd3a-a0836a5f4de5
Java编程Step-by...
浏览量:155453
社区版块
存档分类
最新评论
文章列表
重构不是包治百病的万灵丹,绝对不是所谓的“银弹”。不过它的确很有价值,可以帮助你始终良好的控制自己的代码。   重构是个工具,用于以下几个目的:   1.重构改进软件设计   如果没有重构,程序的设计会逐渐腐坏。当人们只为短期目的,或是在完全理解整体设计之前,就贸然修改代码,程序将逐渐失去自己的结构,程序员愈来愈难通过阅读源码来理解原来的设计。重构很像在整理代码,你所做的就是让所有东西回到应处的位置上。代码的结构的流失是累积性的。愈难看出代码所代表的设计意图,就愈难保护其中设计,于是该设计就腐烂的愈快。经常性的重构可以帮助代码维持自己该有的形态。   完成同样一件事情,设计不良的 ...
软件系统的运行时间越久,代码就愈发弥漫着一股腐烂的气息。   在实际的工作经历中,很少能遇到从零开发重新开发一个新系统的任务,很多时候都是在维护了一个运行多年的老系统,不是修改那些甚至已经不知所谓的老代码,就是在已有的软件框架基础上进行新功能的添加开发,但是那个框架为了保证系统稳定性,也是再修修补补中愈发的臃肿,增加一个功能的过程那是颇为曲折。   良好的设计是优雅代码实现的前提。   没有计划就盲目的开发,得到的肯定是有坏味道的代码(除非是天才)。即使是xp极限编程,提倡立即动手写代码实现功能,也并不是说完全没有实现规划设计就开始写代码。   无论怎样,事先花一点时间做设计, ...
盲目的为项目选择新技术框架,对项目是非常危险的。   根据项目的实际需要来选择适合项目的技术框架,而不是仅仅为了追逐最新的技术而使用升级。   做Java开发,尤其是web应用的开发,技术的更新是十分频繁的。这个 ...
设计文档与代码实现到底如何才能平衡,设计文档到底有多详细才可以进行代码级别的实现?   经历过比较正规的大型软件项目,也参与过开发过程简陋到极致的小型软件项目。对文档的要求是完全不同的。   小项目因为工 ...
这两天在上下班路上,看了看《启示录》这本书。   书里的很多东西,看起来好像很浅显,但是仔细琢磨起来,感觉是豁然开朗,可惜英文不好,书里很多东西都是简单的阐述了下,很多详细的示例、说明都是在作者的博客上,读起来很费劲,只能试着去读读看。   今天看书里讲到了产品经理的双语技能。感觉很受用。   现在工作过的公司和项目组,基本上做企业级应用软件,定制型,所以没遇到过项目经理这个职位的人,不过基本上看我现在工作的项目经理的工作职责,还有我最近准备信管的考试,觉得从现实的情况来看,项目经理的双语技能必不可少。   这里的双语不是说中文,英文等外语技能,而是指既可以和技术人员讨论技术, ...
最近完成了一个apache整合tomcat和iis实现虚拟主主机多实例的配置,现在整理一下。 需求说明:公司有一个web服务器,共部署了两个web应用(拥有独立的域名),使用了一个端口为80的tomcat5.0,配置了多host方式实现了两个web应用同时运行,但因为业务上的原因,需要将两个web应用分别部署到两个tomcat中。同时也向在服务器上部署一个邮件服务器专门用作企业邮箱,就想到了用apache来实现这个需求。 经过了今天是资料收集,部署和测试,现在已经在测试服务器上部署通过,下面是整理的步骤: 1.基本配置:apache2.2,tomcat5.5,iis6,使用了一个受限制的 ...
看到了今年年初的那篇博客,当作了今年的计划,回顾下,好惭愧啊,很多没做到。   0.关注你的健康    为了家人,也应该关心一下自己这把老骨头了。    现在坚持上班骑单车,等天气好些了,下班也坚持全程骑单车, ...
sso(单点登录)在实际的应用开发中经常会用到,特别是软件系统中存在有多个应用,使用统一的用户认证数据。   CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法。   CAS 包含两个部分: CAS Server 和 CAS Client。CAS Server 需要独立部署,主要负责对用户的认证工作;CAS Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Server。    CAS Client 与受保护的客户端应 ...
看了一篇《程序员应该关注的一些事儿》,想总结看看,作为一个“资深”程序员,这些事儿里面我关注了那些,漏掉了那些,顺便算是今天的一个计划清单。   0.关注你的健康    为了家人,也应该关心一下自己这把老骨头 ...
最近面试了几位还在校的学生,应聘公司的实习生职位。   因为是在校生,面试便主要集中在学校学习的课程内容,以及个人在课余时间学习的一些有关编程内容的课程上来。   之后总结下面试的内容,发现了一些和之前想 ...
ActiveMQ是一款支持JMS的企业级开源消息传送提供者,为JMS客户端提供了与其他多种平台的异构集成,包括C++、C、C#和Ruby等。很多使用Java消息中间件的软件,比如很多证券和期货交易平台软件,很多都采用了ActiveMQ这款软件,当 ...
jms支持两类消息传送模型:点对点模型(p2p)和发布/订阅模型(pub/sub)。   发布/订阅模型设计用于一对多消息广播,而点对点模型则设计用于一对一消息传递。   从JMS的视角来看,消息传送客户端成为JMS客户端,而消息传送系统则成为JMS提供者。一个JMS应用程序是由多个JMS客户端和一个JMS提供者组成的业务系统。   此外,生产消息的JMS客户端成为消息生产者,接收消息的JMS客户端则称为消息消费者。一个JMS客户端可以既是消息生产者,又是消息消费者。    
在需求调研中,即使你对这类业务很有经验,非常有把握,也不要在需求调研的时候,轻视客户提出的问题和要求。   之前提到了需求调研的“经验主义”,一般在进行项目需求调研的时候,一般都会有熟悉项目行业业务的成员。很多时候,经验主义是很管用的,但是有时候,物极必反,太依赖经验主义,很多时候就会掉入闭门造车的陷阱,对之后的系统设计开发埋下可怕的隐患。   无论怎样,你在进行调研的用户,都是之后要直接使用系统的人,无论现在他是在使用手工流程完成业务工作,还是使用比较老旧的软件业务系统来完成业务工作,他都对业务有着比较深刻的了解认识,或者他的认识不够全面,只关注自己的一亩三分地,但是在这一亩三分地 ...
之前提到过使用JBPM提供的ant任务文件,来完成工作流描述文件的部署,也就是将设计的工作流持久化到数据库中,真正运行在数据库中。   但是在很多项目中,专门的成员来完成业务流程文件的设计编写,然后要完成部署,使用ant任务来部署,修改ant文件,很麻烦。   需要在项目中,增加专门的工作流描述文件部署功能,上传编写好的工作流描述文件,然后系统完成流程部署。   文件的上传获取就不多说了。在获取到了工作流描述文件后,jbpm专门提供了相关的API来完成流程文件的数据库持久化部署。   这里使用NewDeployment  类来完成部署操作,使用RepositoryServic ...
说到需求调研,有时候经验主义未尝不是一件坏事。   常说经验主义害死人,但是在做需求调研的时候,经验主义未必不是一件坏事儿,关键看用的地方对不对,不要过度就好。   其实在软件行业的工作经验累积,一方面 ...
Global site tag (gtag.js) - Google Analytics