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

本文围绕Java开发设计展开,提及MVC等分层设计,指出可扩展性不等于功能强大,强调20/80原则在程序特殊情况处理、代码优化等方面的应用。还阐述了避免强制绑定功能、考虑兼容性、给用户选择检索方式等要点,助力开发者成为高水平设计师。

飞云小侠 2005-7-23 http://www.jscud.com 转载请注明作者


【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最简单了,但是太简单了,而且性能也差.
 
 这个时候,也许我们就应该提供几种方式供用户选择了,用户如何选择那就看他们了...
 
 
 
【结束语】 

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

### Todesk 被控设备配置方法 #### 配置前准备 确保被控端和控制端都已安装最新版本的 Todesk 应用程序。保持网络环境稳定,建议使用有线连接以减少延迟。 #### 设置步骤详解 ##### 1. 下载并安装客户端 前往官方网站下载适用于目标操作系统的 T godek 客户端,并按照提示完成安装过程[^4]。 ##### 2. 注册账号与登录 创建个人账户或通过已有社交平台快速注册;随后输入用户名密码进入主界面。 ##### 3. 添加信任列表中的计算机 在首次启动时会询问是否允许应用程序访问桌面和其他资源,点击确认授权。接着,在设置选项内找到“安全”,开启受信IP地址白名单功能以便于后续管理。 ##### 4. 实现持续在线服务 为了保障长时间稳定的远程操控体验,可以调整电源计划防止屏幕保护程序启动以及系统休眠模式触发。具体做法是在Windows 中依次打开【控制面板】> 【硬件和声音】> 【电源选项】,选择高效率方案并将关闭显示器时间和睡眠时间均设为从不。 ```powershell powercfg /change monitor-timeout-ac 0 powercfg /change standby-timeout-ac 0 ``` #### 常见问题处理指南 ##### 故障排查要点 当遇到无法正常建立连接的情况时,应先检查双方防火墙策略是否阻止了必要的通信端口开放。另外还需注意路由器NAT映射规则设定不当也会造成此类现象发生。如果仍然存在困难,则尝试重启路由设备来刷新当前网络状态[^1]。 ##### 黑屏显示异常修复措施 部分用户反馈即使成功建立了链接却只看到一片漆黑的画面而非实际画面内容。针对此状况可参照如下办法逐一检验: - 更新显卡驱动到官方发布的最新版; - 关闭可能干扰图像传输的服务进程(如某些后台运行的安全防护软件); - 更改分辨率适配度参数直至匹配为止[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值