基于注解函数式编程实现组件解耦设计
随着业务系统的不断发展,系统架构变得越来越复杂,多种业务交叉写在一起,不仅带来了维护层面的困难,而且新人也很难以入手修改代码,业界通常采用组件模块化开发模式,用于降低系统的复杂度,本文主要针对组件化具体实施过程中,组件层面的方法解耦进行了详细讲解。
1前言
采用组件化开发模式后,各业务组件之间都是平行调用关系,互不依赖,它们都是基于一个共同的基础框架运行,为了解决组件之间类调用问题,可以采用多种方式,比如常见的在基础框架中定义接口,然后组件中定义接口实现类,不过这并不友好,每增加一个方法,都需要在基础框架中定义接口,显然不符合设计模式中的开闭原则(对扩展开放,对修改关闭)。
2实现方案
2.1为什么采用注解
采用注解可以额外的针对类及方法做一些特殊标记。本文定义了类及方法两个注解,主要用于系统初始化时收集类中的方法信息。
自定义类注解如下:
@Retention(Reten