·您的位置: 首页 » 资源教程 » 编程开发 » JAVA、JSP » 设计迷踪:给JAVA设计开发新手的一些建议和意见(四)

设计迷踪:给JAVA设计开发新手的一些建议和意见(四)

类别: JAVA教程  评论数:0 总得分:0
【MVC,MVC2,WEB设计编程的分层】

 请阅读文章 http://forum.javaeye.com/viewtopic.php?t=11712&postdays=0&postorder=asc&start=0


【可扩展不等于功能强大,不要夸大其辞】

 现在的系统,因为接口或者其他方法的使用,都具有很大的扩展性.但是扩展性不等于功能强大.
 存在一个接口,用户可以实现自己的接口,确实非常方便.但是如果你的系统本身只实现了一个接口或者根本没有实现,那么对用户来说就谈不上方便.
 
 例如WebWork的validators,本身是一个接口,但是实际上本身实现的具体类很少,而且功能很差,这个时候如果你说WebWork的校验器很厉害,那么就可能不太恰当了.当然扩展Webwork的Validator还是非常方便的.
 
 当然,可扩展性还是需要的,但是不要吹嘘,在这个浮躁的年代,让我们多干点实事. :)


【20/80原则】
 
 在工作中,我经常想到20/80原则,也就是\"巴雷多原则\".例如我们可以看到:


       时间:我们20%的时间会产生成果的80%
 
       产品:产品的20%带来利润的80%
 
       阅读:20%的书篇幅包括了内容的80%
 
       工作:20%的工作给我们80%的满意
 
       演讲:20%的演讲产生影响的80%
 
       领导:20%的人作出80%的决定

 从上面可以看出,很多时候它都很有说服力.
 
 在这里我想提到几点,但是和上面的可能出发点有所不同:
 
 1.程序的80%都是在处理特殊情况,所以我们一定要对特殊情况重视,不要因为是特殊情况,就不很重视.80%的客户对特殊情况都很重视.
   文档对特殊情况也要详细描述,因为开发人员80%的时候在查找这些东西,而对那些经常用到的用法却很少查阅文档.
  
 2.优化问题:80%的瓶颈都出在20%的代码上,所以在优化代码的时候不需要优化所有代码,只需要优化20%的关键代码就够了.当然追求完美的人我们就不多说了. 
   记得有一条优化的原则是\"不要优化!不要优化\",是非常有道理的.
     
 3.如果你20%的事情做砸了,往往会导致80%的事情都砸了,或者是导致别人认为你把事情几乎都做砸了.
   如果你对一些事情发表了一些很不严谨的看法,那么别人会认为你在别的事情上也很不严谨.
   依此类推,代码质量,文档完整性等等,都会让人产生类似的推理.
  
   (当然一个代码写的很乱的人,往往文档也很乱.)

 

 

【强制绑定是不受欢迎的】

 不要在程序中强制绑定一些额外的功能.
 
 有的框架往往功能很多,是\"大型计算机\",有很多功能,但是在我需要打字的时候,给我打字的功能即可,不要强制我使用网络功能,打印功能,负载均衡功能等等.
 
 一般来说,如果一个东西有很多功能,那么做好做成可配置,可插拔的,这样用户使用你的东西,没必要在不使用高级功能的时候,浪费用户的内存,磁盘.开发人员还得多copy好多lib文件,占用调试时间,岂不是很麻烦.
 
 不要买一送一,我不想要就别给我. :)
 

【有时候也得考虑兼容性】

 一般来说,一个公司的客户会有很多,用户的运行环境是各种各样的.jdk1.3,jdk1.4甚至还有jdk1.2.这样我们在编程的时候就必须做一些妥协,有些函数库就不能使用.
 如果这些用户的jdk不能升级(一般来说都需要购买新的产品才能升级),或者我们必须对这些情况妥协,那么我们就要在开发中考虑这些问题.
 
 例如以前,在Servlet 2.2的时候,因为没有setCharacterEncoding,我们必须手动对各种字符进行转换.当Servlet2.3的时候,可以使用这个函数了.但是为了客户考虑,我们只好没有升级还是使用原来的方法.(当然后来大多数用户都使用了新的App Server,我们就可以使用filter来处理编码问题了).
 
 向下兼容性确实让人头疼,JDK1.5也发布好久了,不过我们现在也不能使用,只能自己没事测试测试.
 
 在编程的时候,一定要设置好IDE的兼容性设置,防止我们使用了不能使用的特性.Jbuilder,Eclipse都有类似的设置.
 
 

【成本与现实,给用户以选择余地】

 全文检索,lucene,like是三种对大文本字段检索的方法.那么你采用哪一种呢?
 
 也许你会毫不犹豫的说\"全文检索\" (我看你像TRS公司的托 :P).
 
 正如\"强制绑定是不受欢迎的\"里面所说的一样,我还是觉得应该给用户以选择的余地.
 
 全文检索是要花钱的或者需要配置,而且一般来说数据库专用的全文检索都是不通用的,lucene是需要开发人员开发的,只有like最简单了,但是太简单了,而且性能也差.
 
 这个时候,也许我们就应该提供几种方式供用户选择了,用户如何选择那就看他们了...
 
 
 
【结束语】 

 实际开发设计中肯定还存在很多其他的问题,本文不可能一一论述.到此为止. :)
 
 希望各位在开发设计中成为高水平的设计师. :)
 




-= 资 源 教 程 =-
文 章 搜 索
关键词:
类型:
范围:
纯粹空间 softpure.com
Copyright © 2006-2008 暖阳制作 版权所有
QQ: 15242663 (拒绝闲聊)  Email: faisun@sina.com
 纯粹空间 - 韩国酷站|酷站欣赏|教程大全|资源下载|免费博客|美女壁纸|设计素材|技术论坛   Valid XHTML 1.0 Transitional
百度搜索 谷歌搜索 Alexa搜索 | 粤ICP备19116064号-1