Не уверен, правильно ли я понимаю ваш вопрос, но ...
Во-первых, вам нужно определить или, возможно, решить , что такое "ядро"? или каким должно быть ядро - какую функциональность будет выполнять Core
. В идеале, когда мы говорим Core, это, по сути, означает слой , который выполняет базовые или атомарные операции .
В этом ядре вы можете создавать оболочки устройств (IPhone, ПК и т. Д.), Которые создают запрос, например, для отправки в ядро.
Службу данных WCF можно использовать для создания слоя данных. А ваше ядро может выполнять бизнес-операции и т. Д. И взаимодействовать со службой данных.
Например, о чем я могу сразу подумать, это:
- Ядро, которое выполняет основные операции - для разговора с Datalayer
DeviceWrapper
( DeviceAndriod, DeviceIPhone, DeviceWeb и т. Д. ), который оборачивает различные устройства. Например, смесь фабрики / строителя. Подумайте о фабрике Device
с и Builder для типов представлений.
TextRenderer
, в зависимости от настроек устройства, отображает текст.
Один из возможных способов, давайте решим:
Core
, будет «библиотекой», которая будет выполнять основные операции:
- Аутентификация
- Авторизация
- Выбрать записи
- Выполнить действие 1
- Выполнить действие 2
Следовательно,
ШАГ 1 : написать контроллер, который будет обеспечивать аутентификацию / авторизацию; например, позвоните Core.Authenticate()
и Authorize()
;
ШАГ 2 : На основании пользовательского агента , вызывающего ICore.RenderView (agentType), это может вернуть вам представление / html, которое будет отображено.
Пользователь может выполнить действие, ваш контроллер может позвонить Core.PerformAction()
; который, в свою очередь, может вернуть ссылку на страницу для перенаправления, например.
- ОБНОВЛЕНО -
Это обновление в ответ на ваш комментарий.
Теперь, в этом (вашем комментарии) случае, вы говорите о клиенте концах.
Позволяет немного прояснить. Существует сервер и клиент сторон.
До сих пор мы говорили о стороне сервера , которая в основном связана с:
- Как сервер обрабатывает запросы от различных пользовательских агентов.
- Как будет отображаться текст относительно разных устройств.
Конец клиента может быть:
- Веб-браузер, в данном случае вам не нужно разрабатывать какое-либо клиентское приложение
- A, скажем, приложение Silverlight для Windows Phone
- Android-приложение для телефона Android
- И так далее.
Решите, что будет делать это "клиентское приложение". Например, в вашем случае:
- Пользователь должен войти через fb id.
- Пользователь должен иметь возможность выполнять определенные операции.
Обратите внимание, что вы можете рассмотреть умных клиентов (используя веб-сервисы, а не веб-страницы asp.net).
Кроме того, подсказка типа в WCF может добавить много ненужных накладных расходов в ответ JSON для больших коллекций. Поэтому, если вы даже отдаленно полагаете, что может хотеть несколько типов конечных точек (SOAP и т. Д.) В какой-то момент времени, тогда WCF - это путь.