浅谈泛型对方法传参的扩展

我们知道可以通过组合接口实现上层建筑,通过不同的实现类实现不同的地层建筑。

所以,基于此思想,在进行方法传参时,通过传递泛型,实现不同的类型传参。假设,我们有这样一个接口:

public interface MessageService {

    void send(BaseRequest request);

}

最开始的实现很简单,只传递一个 BaseRequest,也只有一个参数 id。但是,随着实现的不同,我们需要对 request 进行特别梳理,分为 SampleRequest 和 MultRequest 两种扩展请求,分别扩展了 time 和 timestamp、sign 参数。类型的依赖关系如下图。

This chapter requires login to view full content. You are viewing a preview.

Login to View Full Content

Course Curriculum

3

框架与 I/O:Spring、Netty 与 Web 容器

理解 Spring Boot 自动装配、AOP 与事务原理,掌握 Netty Reactor 模型及 Tomcat 连接处理机制,构建高内聚、易扩展的应用服务层。
4

高性能中间件:消息、缓存与存储

熟练运用 MySQL 索引/事务、Redis 缓存策略、Kafka/RocketMQ 消息可靠性,以及 ZooKeeper 分布式协调,搭建稳定、解耦的分布式数据底座。
6

云原生:容器化、可观测性与工程效能

通过 Docker/K8s 实现弹性部署,集成 Metrics/Logs/Traces 构建可观测体系,推动 DevOps 与自动化,让架构在云上持续交付与进化。