Можно ли нарушать принцип, что свойства коллекции должны быть доступны только для производительности? - PullRequest
1 голос
/ 01 июня 2010

Я использовал FxCop для анализа написанного мной кода. Я выставил коллекцию через сеттер. Я понимаю, почему это не хорошо. Смена бэк-магазина, когда я не ожидаю, что это очень плохая идея. Вот моя проблема, хотя. Я получаю список бизнес-объектов из объекта доступа к данным. Затем мне нужно добавить эту коллекцию в другой бизнес-класс, и я делал это с помощью метода setter. Причина, по которой я это сделал, заключалась в том, что назначение будет быстрее, чем вставка сотен тысяч объектов по одному в коллекцию снова через другой метод addElement.

Можно ли в некоторых случаях иметь сборщик для коллекции? Я предпочитаю иметь конструктор, который берет коллекцию? Я подумал, может быть, я мог бы передать объект Дао и позволить Дао заполнить его напрямую? Есть еще идеи получше?

Ответы [ 2 ]

1 голос
/ 01 июня 2010

Если свойства не являются частью вашего общедоступного API, отключитесь; в противном случае нет. Но тогда, вы действительно уверены, что это узкое место производительности? Держу пари, что в данный момент вы преждевременно оптимизируете.

0 голосов
/ 01 июня 2010

Я бы по-прежнему делал свойство доступным только для чтения и предоставлял альтернативный метод, который берет коллекцию и выполняет назначение & mdash; возможно конструктор. Конечно, это то, для чего должен быть установлен установщик свойств, но это действительно дает понять классному пользователю, что вы не ожидаете, что это свойство будет удалено из-под вас, и назначение должно происходить только в исключительных обстоятельствах.

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