编程中,我们都在想自己需要实现什么功能,其实我们每时每刻都在想着怎么进行模块化,但自己的模块总是难以扩展与维护,为什么会这样呢?
总的来说是:没有实现高内聚、低耦合的模块,为了实现这种模块其实是有理论依据的,只是很多时候我们并没有按照理论依据去设计,导致设计出的接口其实并不满足要求,所以从现在开始,要求自己设计一个理论上高内聚、低耦合的模块。除了通过模块化理论去实现,我们还可以通过将模块分类来达到可扩展、易维护的模块。
我们总的可以将模块划分为:公共模块(服务),流程模块(通过业务拆分所需要的一个流程模块,通常流程模块可以被多个业务所共用),工具模块(完成某个单一简单功能的工具),外部数据交互模块(通过与其它外部系统进行交互的模块),内部数据交互模块(与内部数据进行交互的模块),前台交互模块(面向用户的交互模块)
通过整合不同的模块来完成系统的功能,为了完成一个业务,整合多个流程模块即可实现;为了提供系统的服务,整合多个公共模块及内部数据交互模块、外部数据交互模块等即可向外提供数据;整合多个工具模块完成特殊功能,例邮件服务,短信服务等。
总结来说,理论+服务 = 模块化设计的原则;流程+服务 = 模块化的指导思想