java - 项目中可以有未使用的组件吗?

标签 java dependency-injection

通常未使用/死代码是不好的,但我想知道如何处理未使用的组件。 想象一下,我有一个向用户发送通知的应用程序,它发送 EmailNotification 但一段时间后我们切换到使用 SMS 发送通知。我没有删除 EmailNotification 类,而是创建接口(interface)让我们说 Notification 并且我有这样的结构:

Notification
--SmsNotification
--EmailNotification

我不想删除 EmailNotification,因为一段时间后我们可以返回到 EmailNotifications,这个更改就像将 EmailNotification 类标记为 @Primary 一样简单。 在这种情况下,其中一个实现总是死代码,我想知道它是否可以,或者通常如何处理?

最佳答案

实际上这不是最佳做法。 除了这种做法,您可以将代码分成两个不同的模块,每个组件一个。通过这种方式,您可以根据需要通过构建自动化工具(例如 maven 或 gradle)使用两个模块中的任何一个。因此生成的 jar 将不包含死代码。

关于java - 项目中可以有未使用的组件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46928799/

相关文章:

java Web 服务客户端尝试通过 SSL 访问 Web 服务 - TrustManagerFactoryImpl 未初始化

java - 哪个插件贡献了 Java 视角?

java - 适用于任何 Java 项目的代码混淆器

c# - 简单的注入(inject)器打开通用装饰器

c# - 枚举类模式是否与 DI 不兼容?

java - 无法访问接口(interface)实现类中的公共(public)方法(只能访问接口(interface)中声明的方法)

c# - 真实项目依赖注入(inject)的 F# 模拟

java - 这个项目结构有效吗?

java - 对每个键/常量具有多个值的 Java 枚举进行反向查找?

c# - 如何在 Ninject 中使用 "Composite Design Pattern"