Как получить контакты пользователя Gmail?

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

Я знаю, что существует Аутентификация и авторизация для API Google ". Правильно ли это? И, и мне просто тяжело ...

Я новичок в этой концепции дизайна, и, читая за последние несколько недель, я собрал много информации, но она кажется разрозненной и противоречивой. Термины смешаны, и мне просто трудно осознать это.

Я использую такой шаблон и предполагаю, что поток выглядит следующим образом:

Приложение MVC
Контроллер (ы) процесс запрос / ответ от клиента для данного представления. Внутри методов действий контроллеров они связываются со службами (уровень сервиса) и либо запрашивают объекты для построения моделей представления, либо отправляют объекты из моделей представления обратно.

Модели представления
Я использую строго типизированные модели представления для и из представлений.

Являются ли модели представления DTO? Если они содержат только простые свойства, такие как Name, AddressLine1, Address City и т. Д., или если они содержат сложные свойства, несколько объектов и т. д.

Является ли проверка в модели представления. Если да, то это будет проверка, такая как обязательные поля, длина поля и т. Д. Тогда проверка, такая как имя пользователя, уже существует, или где вам нужно взаимодействовать с другими объектами на уровне обслуживания?

Могут ли модели представления содержать только классы POCO возвращается из EF, или мне следует использовать AutoMapper?

При использовании AutoMapper и DTO, являются ли DTO клонами классов POCO?

Вы бы отображали в контроллере, модели представления или в слое обслуживания ниже?

Службы
Для меня службы - это объекты, которые связываются с репозиториями, чтобы получить объекты POCO обратно из EF. Вот где вся моя бизнес-логика. Когда служба возвращает объект в репозиторий для сохранения в EF, они считаются допустимыми объектами. Это правильно?

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

Вопросы по терминологии
1) Равен ли бизнес-объект объекту домена? Сколько логики должен содержать объект домена?

2) Является ли модель предметной области моделью EF? Я использую подход Model-First.

3) Внедрение зависимостей - следует ли мне использовать это? Я понимаю, как это работает, только не получаю реальной пользы. Я играл с Ninject.

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

Заранее спасибо всем, кто помог мне с этим.

BTW - Я думаю, StackOverflow нужна небольшая кнопка «Купи мне пиво» ​​рядом с флажком «Принять ответ» :)

23
задан Sam 27 February 2011 в 23:03
поделиться