组件化开发和模块化开发

组件化开发和模块化开发实际上是两种编程思想,也可以被认为是两种解决方案。组件化开发注重重用,可以用作实现基础架构的技术方案。举个例子:加入现在我需要实现一个几何图形库,包括图形的生成、修改、删除等基本功能。按照组件化的开发思想来说,所有的几何图形都有共同的方法,即新增、编辑和移除。我们这里就可以先定义一个几何图形的基本类型。一般说来,通常从点、线、面三个方面分别对几何图形进行基类的定义处理。至于不同的几何形状甚至形状的几何体则可以基于已经定义好的基类进行实现。这样做最大的好处是可以有效的提高代码的重用性,提高编码效率;另一方面也使得代码容易被了解,逻辑结构和层次关系清晰。组件化开发实际上可以看做是一个不断对实体进行抽象的过程。

模块化开发则是另一种编程思想,从出发点来说,两者还是存在较大的区别。模块化开发从实际的业务模块触发,根据整体业务的模块划分,分别对整个软件或系统的子模块进行一一实现,从而实现模块化开发。既然要对业务功能模块进行分别开发,那就要保证模块之间接口的一致性,使得最终模块继承的时候能够正确进行。现在所流行的微服务架构可以在一定程度上看作是模块化开发的典型代表(个人看法)。本人曾从事过一个微服务相关的项目,主要内容就是对各个不同的业务系统按照一定的粒度进行模块划分,进而再对各个模块进行实现,在实现的过程中要不同模块的技术人员要及时进行沟通,保证模块之间数据接口的一致性。

总体而言,组件化开发和模块化开发实际上有各自的适用领域。组件化开发更多被应用于技术底层的实际实现,而模块化开发则需要结合实际的业务功能。在项目的实际开发过程中,两种开发模式往往是并存的,结合使用的。

 

你可能感兴趣的:(开发思想)