学习和实践中发现的问题
相比实现业务功能,我更喜欢研究程序设计本身。
编码过程中,因为极力追求更好的代码可读性和更高的性能,我经常反复修改代码,每次改动都有新的发现,要么想出了更好的算法,要么使代码变得更加灵活美观。但反复修改也导致了我的编码效率低下,以至于不能很快的实现业务功能。代码质量虽然上去了,但是延误了项目进度。
我想一部分是熟练程度的问题。对于刚做了一年的项目,编码时间不超过5个月的人来说,要写出高质量的代码同时快速实现业务功能是非常困难的事。
另外我缺乏设计模式方面的知识,很多时候我一直在解决别人已经解决的问题。重复做一件事是程序员的最不应该犯的错,因为大部分程序就是用来解决令人厌烦的重复性的工作。
设计模式的重要性
使用设计模式的主要原因之一就是把不变的东西和易变的东西分离,以此实现代码的重复利用。另外,设计模式就像一种标准,只要按照这个标准去写代码,任何熟悉这种标准的程序员会很容易读懂你的代码。
Spring、Struts、EJB3、Swing还有Java的IO系统都使用了很多经典设计模式。刚学Java的时候,最难以理解的就是它的IO部分,后来看《Java编程思想》第四版的时候才知道理解几种设计模式对于学习IO部分有很大帮助。
想靠技术为生,架构师是终极目标。公司的架构师认证要求掌握常用的设计模式。
研究计划
由于闲暇时间有限,决定每两周研究一种模式。
研究内容包括:
- 研究它的适用范围,以及已经用到这种模式的程序或框架。
分享到:
相关推荐
本书设计实例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好,表达清楚的软件设计模式,这些模式在实用环境下有特别有用...
目前有效的多时间粒度时态数据库设计方法多针对全序时态模式,当时态模式的时态类型集为偏序集时,由于涉及时态类型间的最大下界等操作而使其难以实现。针对偏序时态模式的规范覆盖问题进行研究,提出了偏序TFD...
本书作为流行和经典的教材,主要面向电子工程、计算机科学、数学和统计学、媒体处理、模式识别、计算机视觉、人工智能和认知科学等领域的研究生和高年级本科生,也可作为相关领域科技人员的重要参考书。 ----------...
本书作为流行和经典的教材,主要面向电子工程、计算机科学、数学和统计学、媒体处理、模式识别、计算机视觉、人工智能和认知科学等领域的研究生和高年级本科生,也可作为相关领域科技人员的重要参考书。 ----------...
部代码研究时,这点尤其明显,因此,如果你不具备设计模式的基础知识(GoF 的设计模式),你很难快速的理解 J2EE。不能理解 J2EE,如何能灵活应用? 3.J2EE 只是适合企业计算应用的框架软件,但是 GoF 的设计模式几乎...
XCodeFactory3.0完全攻略--序 XCodeFactory3.0完全攻略--基本思想 XCodeFactory3.0完全攻略--简单示例 XCodeFactory3.0完全攻略--IDBAccesser XCodeFactory2.0完全手册(中) XCodeFactory2.0完全手册(上)...
设计模式 注: 代码重构,大多数是发生在项目已完成的情况下,有时间进行优化重构, 因为一般情况下大多数项目进展都是比较紧急的,都是分析需求,设计实现和需求变更。 大多数情况下,对于新的业务,都是方向没有...
第3节 设计模式 第4节 浅谈面向对象设计语言 习题 第5章 程序正确性证明 第1节 概述 第2节 不变式断言法 第3节 子目标断言法 第4节 公理化方法 第5节 良序集方法 第6节 计数器方法 习题 第6章 结构化程序的正确性...
31.2.3 DAP设计模式 51.3 为Microsoft数据引擎创建 Access数据项目 51.3.1 新的ADP工具和对象 61.3.2 NorthwindCS项目和da Vinci工具箱的深入研究 61.4 OfficeVBA编辑器和Access的集成 91.5 DAP和DHTML的HTML源编辑...
31.2.3 DAP设计模式 51.3 为Microsoft数据引擎创建 Access数据 项目 51.3.1 新的ADP工具和对象 61.3.2 NorthwindCS项目和da Vinci工具 箱的深入研究 61.4 OfficeVBA编辑器和Access的集成 91.5 DAP和DHTML的HTML源...
31.2.3 DAP设计模式 51.3 为Microsoft数据引擎创建 Access数据 项目 51.3.1 新的ADP工具和对象 61.3.2 NorthwindCS项目和da Vinci工具 箱的深入研究 61.4 OfficeVBA编辑器和Access的集成 91.5 DAP和DHTML的HTML源...
31.2.3 DAP设计模式 51.3 为Microsoft数据引擎创建 Access数据项目 51.3.1 新的ADP工具和对象 61.3.2 NorthwindCS项目和da Vinci工具箱的深入研究 61.4 OfficeVBA编辑器和Access的集成 91.5 DAP和DHTML的HTML源编辑...
31.2.3 DAP设计模式 51.3 为Microsoft数据引擎创建 Access数据项目 51.3.1 新的ADP工具和对象 61.3.2 NorthwindCS项目和da Vinci工具箱的深入研究 61.4 OfficeVBA编辑器和Access的集成 91.5 DAP和DHTML的HTML源编辑...
31.2.3 DAP设计模式 51.3 为Microsoft数据引擎创建 Access数据 项目 51.3.1 新的ADP工具和对象 61.3.2 NorthwindCS项目和da Vinci工具 箱的深入研究 61.4 OfficeVBA编辑器和Access的集成 91.5 DAP和DHTML的HTML源...
31.2.3 DAP设计模式 51.3 为Microsoft数据引擎创建 Access数据项目 51.3.1 新的ADP工具和对象 61.3.2 NorthwindCS项目和da Vinci工具箱的深入研究 61.4 OfficeVBA编辑器和Access的集成 91.5 DAP和DHTML的HTML源编辑...
31.2.3 DAP设计模式 51.3 为Microsoft数据引擎创建 Access数据项目 51.3.1 新的ADP工具和对象 61.3.2 NorthwindCS项目和da Vinci工具箱的深入研究 61.4 OfficeVBA编辑器和Access的集成 91.5 DAP和DHTML的HTML源编辑...
31.2.3 DAP设计模式 51.3 为Microsoft数据引擎创建 Access数据项目 51.3.1 新的ADP工具和对象 61.3.2 NorthwindCS项目和da Vinci工具箱的深入研究 61.4 OfficeVBA编辑器和Access的集成 91.5 DAP和DHTML的HTML源编辑...
31.2.3 DAP设计模式 51.3 为Microsoft数据引擎创建 Access数据项目 51.3.1 新的ADP工具和对象 61.3.2 NorthwindCS项目和da Vinci工具箱的深入研究 61.4 OfficeVBA编辑器和Access的集成 91.5 DAP和DHTML的HTML源编辑...
31.2.3 DAP设计模式 51.3 为Microsoft数据引擎创建 Access数据项目 51.3.1 新的ADP工具和对象 61.3.2 NorthwindCS项目和da Vinci工具箱的深入研究 61.4 OfficeVBA编辑器和Access的集成 91.5 DAP和DHTML的HTML源编辑...
31.2.3 DAP设计模式 51.3 为Microsoft数据引擎创建 Access数据项目 51.3.1 新的ADP工具和对象 61.3.2 NorthwindCS项目和da Vinci工具箱的深入研究 61.4 OfficeVBA编辑器和Access的集成 91.5 DAP和DHTML的HTML源编辑...