¿Debería favorecer IEnumerable <T> o Arrays? [cerrado

En muchos proyectos en los que trabajo, cada vez que tengo que devolver una colección de solo lectura, uso laIEnumerable<T> interfaz y haga que sea específico de la siguiente manera:

Public ReadOnly Property GetValues() As IEnumerable(Of Integer)
    Get
        'code to return the values'
    End Get
End Property

La mayoría de las veces, devuelvo una Lista pero en algunas funciones y propiedades de solo lectura devuelvo una matriz que también sirve para el propósito por cortesía de los Métodos de Extensión.

Mi pregunta esam Estoy violando cualquier principio de diseño al devolverIEnumerable<T>s en lugar de tipos específicos (por ejemplo:List<T>, HashSet<T>, Stack<T> oArrays)?

Respuestas a la pregunta(8)

Su respuesta a la pregunta