Junior — Middle
Que abordagens alternativas são usadas em vez de interfaces de marcação em linguagens de programação modernas?
sobes.tech IA
Resposta da IA
Em vez de interfaces de marcador em linguagens de programação modernas, muitas vezes usam-se anotações (por exemplo, em Java) ou atributos (em C#). Elas permitem marcar uma classe ou método com informações adicionais sem a necessidade de implementar métodos.
Também se utilizam padrões de projeto, como o uso de classes base especiais ou composição com objetos que carregam a semântica necessária.
Em Java, com o aparecimento de anotações, pode-se escrever, por exemplo:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface MyMarker {}
@MyMarker
public class MyClass {}
Este método é mais flexível e expressivo do que interfaces de marcador, pois as anotações podem conter parâmetros e serem processadas por reflexão.