Я предложил бы иметь фактические файлы проекта, проигнорированные системой управления версиями из-за оборотных сторон, которые Вы упомянули.
, Если бы существует достаточно последовательной информации в настройках проекта, что было бы преимущество от наличия ее доступно, скопировало бы ее в местоположение, которое Eclipse не рассматривает как особенный, и Вы будете иметь его в наличии для работы с на контроле (и скопировать назад туда, где Eclipse обратит внимание на нее). Существует достойный шанс, что разделение фактических файлов проекта от управляемых приведет к потере синхронизации, таким образом, я только предложил бы это, если существует ясное преимущество от имения в наличии настроек (или Вы уверены, что будете в состоянии сохранить их, синхронизировался)
Inc Wall o 'Text
То, что вы делаете правильно, ваш код будет применяться к каждому репозиторию.
] Как вы заявили, цель шаблона репозитория состоит в том, чтобы вы могли менять способ доставки данных в ваше приложение без необходимости рефакторинга кода в вашем приложении (уровень UI / доставки).
Возьмем, к примеру, вы решаете перейти на Linq to Entities или ADO.NET.
Все, что вам нужно, - это написать код для ORM, который вы будете использовать (чтобы он унаследовал правильный интерфейс), а затем пусть ваш код будет использовать этот репозиторий. Конечно, вам нужно будет заменить все ссылки на старый репозиторий или переименовать / заменить ваши старые репозитории ORM, чтобы ваше приложение использовало правильные (если вы не re использует какой-то тип контейнера IoC, в котором вы должны указать, какой репозиторий передать).
Остальная часть вашего приложения будет продолжать работать правильно, поскольку все методы, которые вы использовали для получения / редактирования данных, будут возвращать правильные объекты.
С точки зрения непрофессионала, репозитории будут предоставлять вашему приложению необходимые данные таким же образом. Единственная разница заключается в том, как эти данные извлекаются из вашей базы данных (ADO.NET/Linq для чего-то и т. Д.)
Наследование ваших классов интерфейсов репозитория является жестким ограничением, гарантирующим, что они выводят данные единообразным образом, который согласуется в зависимости от того, как его использует ваше приложение.
Остальная часть вашего приложения будет продолжать работать правильно, поскольку все методы, которые вы использовали для получения / редактирования данных, будут возвращать правильные объекты.
С точки зрения непрофессионала, репозитории будут предоставлять вашему приложению необходимые данные таким же образом. Единственная разница заключается в том, как эти данные извлекаются из вашей базы данных (ADO.NET/Linq для чего-то и т. Д.)
Наследование ваших классов интерфейсов репозитория является жестким ограничением, гарантирующим, что они выводят данные единообразным образом, который согласуется в зависимости от того, как его использует ваше приложение.
Остальная часть вашего приложения будет продолжать работать правильно, поскольку все методы, которые вы использовали для получения / редактирования данных, будут возвращать правильные объекты.
С точки зрения непрофессионала, репозитории будут предоставлять вашему приложению необходимые данные таким же образом. Единственная разница заключается в том, как эти данные извлекаются из вашей базы данных (ADO.NET/Linq для чего-то и т. Д.)
Наследование ваших классов интерфейсов репозитория является жестким ограничением, гарантирующим, что они выводят данные единообразным образом, который согласуется в зависимости от того, как его использует ваше приложение.