interface IFoo
{
int MyReadOnlyVar { get; }
}
class Foo : IFoo
{
int MyReadOnlyVar { get; set; }
}
public IFoo GetFoo()
{
return new Foo { MyReadOnlyVar = 1 };
}
Est-ce que ce qui précède est un moyen acceptable de mettre en œuvre un objet en lecture seule/immuable? L'immutabilité de IFoo peut être rompue avec une distribution temporaire à Foo.Méthode de masquage avec des interfaces
Dans les cas généraux (non critiques), est-ce que la fonctionnalité de dissimulation via les interfaces est un modèle commun? Ou est-ce considéré comme un codage paresseux? Ou même un anti-pattern?