Должен ли репозиторий обрабатывать экземпляры по умолчанию? - PullRequest
0 голосов
/ 14 февраля 2012

Я работаю над оболочкой для IsolatedStorageSettings.ApplicationSettings в Windows Phone ...

Одна из причин этого заключается в том, чтобы сократить количество разбросанного кода if (x == null)около.Из того, что я использую для себя, я понял, что если я запрашиваю сущность из репозитория, а ее там нет, я все равно собираюсь создать ее экземпляр по умолчанию.

Что мне было интересно, так это то, чтобудет плохой идеей вернуть экземпляр объекта по умолчанию, если объект не найден?Если так, как это должно произойти?

Должен ли я разрешить пользователю передавать экземпляр по умолчанию?может быть, фабрика?

Мысли?

1 Ответ

2 голосов
/ 14 февраля 2012

Нет.Вы не должны создавать экземпляры по умолчанию, если их нет.По крайней мере, не для метода Get.

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

Одна из причин этого заключается в том, чтобы сократить количество кода if (x == null), который разбросан по

Хранилище не исправит это,Репозитории - это просто способ абстрагироваться от источника данных.Они не должны включать никакой другой логики (принцип единой ответственности).

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

...