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

设计模式:

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

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

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


高内聚低偶合,

工厂模式:

分离不变的和可变的

分离抽象的和具体的

分离引用和实现


适配器模式:

实现弱偶合


桥接模式:

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


建造者模式:

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


责任链模式:

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









我们在学校还学过一个好的程序还需要稳定性、易读性。不过你能充分理解维护性和复用性即可做到稳定性和易读性,这也是本文为什么要说“可支持维护性的复用”是程序设计的本质。

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

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

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

 

软件工程:

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

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

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

 

项目管理:

本质是计划和分工。

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值