|
Посоветуйте структу проекта / сборок
|
|||
---|---|---|---|
#18+
Разрабатывается пакет из ~20 приложений (Suite), 15 из них должны быть web- и win- based, около 6 еще API для сторонних программ. База данных общая. 80% всех приложений будут использовать некоторые общие модели, такие как: Language, Country, UnitOfMeasure, User, Application, Log и т.д. и т.п. Все приложения 4-ех слойные (DATA ACCESS, DOMAIN, SERVICES, PREZENTATION). Как лучше организовать сборки? Особенно важно наиболее правильно сделать для приложения, которое будут использовать все другие приложения (Master). Сам только так вижу... Код: plaintext
Код: plaintext
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2015, 17:07 |
|
Посоветуйте структу проекта / сборок
|
|||
---|---|---|---|
#18+
Cheerful Calf, что это за "приложение, которое будут использовать все другие приложения (Master)"? Почему User находится в Suite, а UserService в Master (при этом вспоминаем первый вопрос)? А вообще похоже на то как у нас. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2015, 17:28 |
|
Посоветуйте структу проекта / сборок
|
|||
---|---|---|---|
#18+
skyANAА вообще похоже на то как у нас.Тут надо уточнить, что то, что у Вас Suite, Master, App01, - это у нас отдельные solutions, а не проекты в рамках одного. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2015, 17:31 |
|
Посоветуйте структу проекта / сборок
|
|||
---|---|---|---|
#18+
skyANAТут надо уточнить,Да, уточнить надо :) У меня в таблицах - отдельные солушины, красным - проджекты. skyANAприложение, которое будут использовать все другие приложения (Master)ну это как и описал - приложение для логгинга, получить шаред справочники, преветь права пользователя... то есть как бы получается не приложение как таковое, а набор сервисов для работы с общими моделями, которые будут использоваться в других приложениях. не делать в каждом новом свою реализацию получения списков всех языков, пользователей, логгинг... или делать?) skyANAПочему User находится в Suite, а UserService в Masterне знаю, но самому тоже не нравится. лучше юзеров мастер, или мастер в суит? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2015, 17:45 |
|
Посоветуйте структу проекта / сборок
|
|||
---|---|---|---|
#18+
Cheerful Calf, а Log - это у Вас что? Бизнес лог какой-то, аудит? Чтобы один менеджер мог посмотреть, кто провёл ту, или иную бизнес транзакцию? У нас locking, logging, queueing, tracing и т.п. вынесены в отдельный солюшн и подключаются при надобности в различных частях аналога Вашего Suite. ИМХО Ваш Master - это просто часть Suite. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2015, 18:07 |
|
Посоветуйте структу проекта / сборок
|
|||
---|---|---|---|
#18+
skyANA, То есть например Апп01 имеет свою домееную модель и логику. Ей чтобы взлететь в виде MVC надо Core, Data.Ef, Utils и MasterSerives (чтобы получить справочник-список стран), что ей встать на Windows надо Core, Data.WCF, Utils, MasterServices и Master WebAPI. И получается так? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2015, 18:34 |
|
Посоветуйте структу проекта / сборок
|
|||
---|---|---|---|
#18+
Изначально хотелось Core оставить только для интерфейсов. Потому и образовался этот отдельный мастер с имплементацией. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2015, 18:37 |
|
Посоветуйте структу проекта / сборок
|
|||
---|---|---|---|
#18+
ну и вопрос сразу возникает - как с domain model и с базой быть? в Data.EF продублировать модели как ентити соответствующие таблицам бд и туда же какой-нибудь automapper положить, чтобы из DAL получать модели а не таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2015, 19:50 |
|
Посоветуйте структу проекта / сборок
|
|||
---|---|---|---|
#18+
Cheerful Calf, какой смысл Data и Domain объединять в некий Core? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2015, 21:29 |
|
Посоветуйте структу проекта / сборок
|
|||
---|---|---|---|
#18+
Cheerful Calfну и вопрос сразу возникает - как с domain model и с базой быть? в Data.EF продублировать модели как ентити соответствующие таблицам бд и туда же какой-нибудь automapper положить, чтобы из DAL получать модели а не таблицы?А в чём собственно сомнения? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2015, 21:39 |
|
Посоветуйте структу проекта / сборок
|
|||
---|---|---|---|
#18+
skyANAкакой смысл Data и Domain объединять в некий Core?Задача некоего Core - обслуживать аппсы (апп как в понятии пользователя, т.е. MusicStoreWpf, MusicStoreWeb и MusicStoreDalEf - это все один аппликейшин): хандлить ерроры, логить события, думать как и куда положить файлы и как их потом отдать, послать емаил, сообщить текущий часовой пояс, перевести текст на понятный пользователю язык... Также думаю оно должно хранить интерфейсы и сигнатуры всего, за что оно отвечает - IDataContext, IBaseEntity, IGenericRepository<T>, IAuthorizationServices.... "Master" тоже в принципе на обслуживании всех аппсов, так как справочник стран никому в чистом виде нафиг не нужен. Поначалу и вырисовался этот отдельный мастер со своими моделями и сервисами (как логик, так данных). Отдельно от самого суита/коре потому что в случае десктопной версии аппса - коре в виде длл идет к пользователю на комп смело и дружно вместе с аппсом. А мастер со своим UserServices и прочем прячется за WebAPI. Но вроде решили что мастер - это часть этого некоего коре потому модели и дата и ушли туда. Хотя сейчас кажется, что или я не до понял и придумали не верно... skyANAА в чём собственно сомнения?Что стоимость содержания этого зоопарка будет меньшей, чем стоимость всех костылей для унифицированной, одной на все слои от DB до UI, POCO модели. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2015, 23:53 |
|
Посоветуйте структу проекта / сборок
|
|||
---|---|---|---|
#18+
Cheerful CalfskyANAкакой смысл Data и Domain объединять в некий Core?Задача некоего Core - обслуживать аппсы (апп как в понятии пользователя, т.е. MusicStoreWpf, MusicStoreWeb и MusicStoreDalEf - это все один аппликейшин): хандлить ерроры, логить события, думать как и куда положить файлы и как их потом отдать, послать емаил, сообщить текущий часовой пояс, перевести текст на понятный пользователю язык... Также думаю оно должно хранить интерфейсы и сигнатуры всего, за что оно отвечает - IDataContext, IBaseEntity, IGenericRepository<T>, IAuthorizationServices....Что-то как-то толсто. Cheerful CalfskyANAА в чём собственно сомнения?Что стоимость содержания этого зоопарка будет меньшей, чем стоимость всех костылей для унифицированной, одной на все слои от DB до UI, POCO модели.Зоопарк-то в чём? А на унифицированную модель уже можно глянуть? :) Чтобы и на таблицы маппилась (SQL), и на документы (MongoDB), и в Couchbase положить, и в Elasticsearch, и как DTO чтобы можно было использовать, сериализовать в XML, JSON, ProtoBuf... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2015, 00:10 |
|
Посоветуйте структу проекта / сборок
|
|||
---|---|---|---|
#18+
>> Что-то как-то толсто. То есть? >> Можно глянуть? Нет, она в глуьоком симбиозе с костылями, уже не отличить где модель, а где костыль :) Причем что из всего перечисленного она пребывает только в скл, монго и джейсоне. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2015, 00:22 |
|
Посоветуйте структу проекта / сборок
|
|||
---|---|---|---|
#18+
Cheerful Calf>> Что-то как-то толсто. То есть?Exception Management (хандлить ерроры), Logging (логить события) следует вынести в отдельный солюшн. Ресурсы для локализации (перевести текст на понятный пользователю язык) - это части конкретных приложений. ИМХО так. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2015, 11:30 |
|
Посоветуйте структу проекта / сборок
|
|||
---|---|---|---|
#18+
A должен ли конкретный DAL знать кроме ентитей и таблиц в бд еще про какие-то доменные модели и как в них маппить то что он получает из базы? или же это задача того, кто над DAL эти модели пользует? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2015, 18:44 |
|
Посоветуйте структу проекта / сборок
|
|||
---|---|---|---|
#18+
Cheerful CalfA должен ли конкретный DAL знать кроме ентитей и таблиц в бд еще про какие-то доменные модели и как в них маппить то что он получает из базы? или же это задача того, кто над DAL эти модели пользует?В Вашем случае да. У Вас я вижу репозиторий с двумя стратегиями доступа: EF и WCF. Принято, чтобы репозиторий возвращал доменные объекты и скрывал внутри детали маппинга. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2015, 14:44 |
|
|
start [/forum/topic.php?fid=33&fpage=10&tid=1547418]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 296ms |
total: | 459ms |
0 / 0 |