Java编程应该了解的事 – 设计模式、软件工程、项目管理

设计模式:

我们不难发现世间万物的发展基本都有一个起决定性作用的起始点。比如,基因会决定一个人的某些特质;本质决定现象;领导决定一个组织的发展。其实,就是本质。而编程思想的本质是什么呢句话说,对于我们提交的程序怎样来判断她的好坏优良呢们可能得到很多答案,但只从软件生命周期的角度来看,我想就是“可支持维护性的复用”。参考《Java与模式》

维护性:易扩展性,用于功能完善加强。Open对内。

复用性:说白了是通用性,在这能用,在别的地方也能用,因为接口已经定义好了,看接口你就会明白具备什么功能。Close对外开放接口。

高内聚低偶合,

工厂模式:

分离不变的和可变的

分离抽象的和具体的

分离引用和实现

适配器模式:

实现弱偶合

桥接模式:

将多继承的高偶合转为聚合,以解偶。

建造者模式:

分离引用和实现(结构复杂的实现)

责任链模式:

分离请求(相对不变,抽象)和接收(相对可变,具体):(同一对象动态接受多处理)

某个模块当需要被修改时,其他的调用者同时都会受到牵连。这个模块需要被修改是出于维护性的需要,保证其他调用的地方不受牵连是出于复用性的的需要。也称之为解偶,高内聚地耦合。这个问题就是面向对象编程思想的一个出发点,起始点,本质。一个好的软件系统设计应该充分注意这个问题的处理。简单说就是,一个好的模块设计可以很好的完成自身的功能而被多次复用,同时自身功能的完善又不影响其复用。再从面向对象角度看就是,一个对象既可以通过暴露接口被任意调用,而同时对象内部的加强和完善又不影响其调用。

矛盾是事物发展的源头,从这个问题出发,我们就可以很好的理解面向对象编程思想和设计模式。设计模式是针对不同情形,对此问题的具体处理方法。

最起码我们可以了解到接口设计远比代码实现重要的多。

 

软件工程:

老生常谈,需求分析、设计实现、测试、部署、运维

这里只从需求分析、设计的角度来看,本质是什么呢/p>

我个人认为就是,对象识别和业务流程(逻辑)的识别,这样说还是模糊。两个字概括就是 – 分类。有Java设计开发经验的应该明白,除非你做的不是面向对象编程。

 

项目管理:

本质是计划和分工。

设计人员只做接口设计,业务流程设计。这些人的经验一定要丰富,不是说考个架构师证就可以的,也不是说没有架构师证就不可以做。关键不在于证,而在于经验(技术经验、行业经验)和面向对象思想的理解。

程序员只是实现这些接口和调用这些接口实现类。

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92729 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2011年8月5日
下一篇 2011年8月5日

相关推荐