软件开发中的解耦

项目进入关键期了,最近一个礼拜不断加班写代码,回顾一年以来经历过的项目,突然发现其实我们一直在追求的就是解耦,目的就是使自己的软件系统能够以更低的代价接受变化,比如增加新业务时,希望不用修改代码或者少修改。

 

代码级别的解耦是最常见的,把OOA/OOD做的更好一些,每个类的职责明确,接口功能尽量细分,多使用经典的设计模式,这样的代码也比较容易看懂。

 

软件一般都分层设计,比如1:数据层,2:数据加工转发层,3:业务逻辑层,4:展现层,层与层之间也需要尽量解耦。按照MVC的思想,2、3属于C。直觉中,一个系统最少只需要数据层和展现层就够了,2、3的作用就是控制流程,同时将数据提供者和使用者解耦,将来需要添加新的数据提供者和使用者时,只要符合2、3的接口要求,就可以做到插拔式的添加。这可以理解为模块级别的解耦。

 

业务级别的解耦需要产品设计和开发人员共同完成,

你可能感兴趣的:(软件工程)