|  |      1picasso250      2012-11-26 17:19:38 +08:00 我会写一下UML(虽然非常简单) | 
|  |      2bupo OP @picasso250 看到别人写的开源代码,设计非常优雅,自己就是做不到,要怎么锻炼这种能力呢?重构自己的代码? | 
|  |      3wayn3h0      2012-11-26 17:54:45 +08:00 必须先设计好类,层次划分,功能模块划分,各种调用关系,统一调用入口...用的最多的像是酱子的:  model -> 公共数据结构定义 data -> provider模式 怕以后数据库切换问题 business -> 业务逻辑 定义一个统一入口管理data provider, cache 等 由business object调用,便于以后切换cache, data provider等(一般从配置文件读入然后caching) view -> 前端各种模板 | 
|  |      4conis      2012-11-26 17:59:37 +08:00 1.事前考虑好,对业务有足够的了解很重要 2.重构,貌似不存在不需要重构的代码,模块化组件化很重要 最后,不建议刻意去使用设计模式,设计模式是为了解决问题的方案抽象。某些设计模式很常用,比如说工厂模式。 | 
|  |      6picasso250      2012-11-26 18:48:05 +08:00 @bupo 其实,我就是想求一下优雅的开源代码。能给个地址或者名称吗? | 
|  |      7reus      2012-11-26 18:51:58 +08:00 不会刻意设计,因为写着写着就会发现需要重构的了,而且重构要尽快不要留下负债 | 
|  |      8bupo OP  1 @picasso250 Nutch | 
|  |      9bupo OP @picasso250 以前为了在nutch基础上做二次开发,看过源代码,他的插件机制特别灵活,所有的扩展都不用修改原本的代码,真正做到了对扩展开放,对修改封闭 | 
|  |      10imcj      2012-11-27 10:00:22 +08:00 设计模式也需要练习,模式是前人总结的经验,唯有多练习才能得心应手。 自上而下还是自下而上的问题,Google吧,相当多的讨论。 | 
|  |      11dudong0726      2012-11-27 10:02:55 +08:00 设计模式是用出来的,技术积累到一定程度,设计模式自然出来,所以还是先完成功能 | 
|  |      12vilic      2012-11-27 13:47:36 +08:00 我觉得说 "使用设计模式" 是不恰当的, 至少不是最好的情况. 根据项目的大小, 周期, 性质等方面综合考虑, 做适当的规划即可. 当然这个规划的话, 可能就需要长时间的积累了? |