模块化设计
为什么要做模块化设计
尽管写过很多模块,但一直对于模块化设计,没有一直很清晰的认识,这次学习了软件设计之道,终于从概念上对模块化设计有了一个更清晰的认识。一个软件本质上是完成一个或多个特定的功能,所以,写程序的第一目标是实现需求。既然是实现需求,那是不是随便怎么写,只要完成功能就行呢?不是的,因为,软件是生命周期的,在一个软件的生命周期里,需求会不断变化(增加或减少),同时要求,软件开发人员,能够快速应对这些个需求变化,由此可见,软件不是一次写完就永远不改了,而是需要不断修改以新增功能。这个也叫软件的可扩展性,在已有的功能的基础上,扩展以支持新的功能。在软件的开发过程中,除了,完成功能以外,具备可扩展性,是软件具备长久生命力的重要属性。
模块化设计的好处
那么,如何设计软件,才能使它具备可扩展性呢,我想答案就是模块化设计技术。
模块化设计技术,就是把一个软件要完成的目标功能分解成几个有特定功能的小模块,然后,这几个小模块相互协作完成软件的目标功能。所以,模块化设计,首先要的事情就是分解。
模块化设计的好处:
1、程序员只要面对复杂度更小的小模块。
2、模块之间是独立的,以后,如果某个模块有问题,只要修改那个单独的模块就可以,程序易于稳定。
3、模块之间接口很明确,易于多人协作,大家的协作只会涉及接口层面,不需要了解其细节,A模块的人,不需要了解B模块的细节。