Lorsque j'ai lu des articles sur le développement de logiciels, j'ai souvent entendu parler de la phrase "interface propre". Les gens ont parlé de l'interface propre pour les API et les classes. P>
Comment définissez-vous "Interface propre"? Y a-t-il des lignes directrices pour la conception d'un système avec une interface propre? P>
3 Réponses :
Une "interface propre" est une "interface propre" qui ne résoudra pas les détails de la mise en œuvre. Il est facile de comprendre, n'expose pas ses parties privées et n'entraîne pas un couplage excessif entre vous et le code que vous avez interface. C'est plus une odeur de code qu'une définition stricte ... p>
+1 Je suis d'accord que j'ajouterais aussi que les propriétés ne sont pas des répétitions. Si vous rencontrez la même méthode ou la même propriété dans plusieurs interfaces, ce qui est à cet effet identique à celui de l'autre, vous feriez peut-être mieux d'opter pour une interface de niveau supérieur à partir de laquelle vos autres découleront.
Des livres entiers ont été écrits à ce sujet et Directives (.NET-Centric) est l'un de mes favoris. Il y en a beaucoup, et pas de réponse simple, mais si j'étais pressé em> pour une réponse simple, je dirais concevoir une API afin que les choses simples puissent être faites sans que le device doive lire Documentation étendue. Cela implique une interface constante et constante avec des noms descriptifs sensibles et descriptifs. Ne faites pas du mal à faire les trucs de base. P>
Gardez-le simple et en écriture du code auto-explicatif maigre et rapide. Un qui est facile à lire et à maintenir. P>
+1 pour vouloir faire de bonne manière, et de creuser plus profondément que vos propres pensées.