Интерфейсы, оптимизирующие код? - PullRequest
1 голос
/ 31 января 2012

Мне было интересно, дадут ли интерфейсы какую-либо выгоду во время выполнения.

Допустим, у меня есть менеджер, который обрабатывает чрезвычайно большой / сложный объект.Если этот объект должен взаимодействовать со многими частями различной логики, было бы полезно заставить его реализовать интерфейс для каждой конкретной части логики, а затем передать его как этот конкретный интерфейс.Повлияет ли это на производительность?

Ответы [ 3 ]

7 голосов
/ 31 января 2012

Повысит ли это производительность каким-либо образом?

Нет.Однако это не влияет на производительность.

Интерфейсы имеют и другие преимущества, особенно в том, что касается отделения особенностей реализации от требуемого API и его передачи по всей системе.

2 голосов
/ 31 января 2012

Вы разрабатываете свое программное обеспечение с помощью интерфейсов (и реализаций), чтобы добиться слабой связи компонентов программного обеспечения и позволить выбирать между различными конкретными реализациями определенных вариантов поведения. Это никак не связано с производительностью , если вы хотите повысить производительность, вы бы исследовали другие аспекты вашего кода, и обычно преимущества в производительности достигаются за счет изменения части реализации, а не способа, которым вы расшифровываете код.

1 голос
/ 31 января 2012

Это не будет улучшением.Вы можете думать об интерфейсе как о другом способе представления экземпляра.Какое бы представление (интерфейс) вы ни использовали, оно не меняет характеристик самого экземпляра.Например, многие классы реализуют IDisposable.Передача такого экземпляра как IDisposable не меняет остальную часть поведения объекта и не делает его логику Dispose () более эффективной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...