powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Посоветуйте структу проекта / сборок
17 сообщений из 17, страница 1 из 1
Посоветуйте структу проекта / сборок
    #39104737
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разрабатывается пакет из ~20 приложений (Suite), 15 из них должны быть web- и win- based, около 6 еще API для сторонних программ. База данных общая.
80% всех приложений будут использовать некоторые общие модели, такие как: Language, Country, UnitOfMeasure, User, Application, Log и т.д. и т.п.
Все приложения 4-ех слойные (DATA ACCESS, DOMAIN, SERVICES, PREZENTATION).
Как лучше организовать сборки? Особенно важно наиболее правильно сделать для приложения, которое будут использовать все другие приложения (Master).
Сам только так вижу...

Код: plaintext
Suite-Core--Data---IDataContext---IGenericRepository<T>--Domain(shared models)---User---UnitOfMeasure---…-Data.EF---EfDataContext---EfRepositories---Mappings-Data.WCF---WCFDataAccess---WCFRepositories-Framework/Utils--Authentification--Permissions--…
Код: plaintext
Master-Services---UserServices0---UnitOfMeasureServices---…-WebAPI
Код: plaintext
App01-Domain--Model1--…-Services---Services01---…-Presentation--MVC--WebAPI+WPF--…
...
Рейтинг: 0 / 0
Посоветуйте структу проекта / сборок
    #39104776
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheerful Calf, что это за "приложение, которое будут использовать все другие приложения (Master)"? Почему User находится в Suite, а UserService в Master (при этом вспоминаем первый вопрос)?

А вообще похоже на то как у нас.
...
Рейтинг: 0 / 0
Посоветуйте структу проекта / сборок
    #39104782
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAА вообще похоже на то как у нас.Тут надо уточнить, что то, что у Вас Suite, Master, App01, - это у нас отдельные solutions, а не проекты в рамках одного.
...
Рейтинг: 0 / 0
Посоветуйте структу проекта / сборок
    #39104812
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТут надо уточнить,Да, уточнить надо :) У меня в таблицах - отдельные солушины, красным - проджекты.

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

skyANAПочему User находится в Suite, а UserService в Masterне знаю, но самому тоже не нравится. лучше юзеров мастер, или мастер в суит? :)
...
Рейтинг: 0 / 0
Посоветуйте структу проекта / сборок
    #39104839
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheerful Calf, а Log - это у Вас что? Бизнес лог какой-то, аудит? Чтобы один менеджер мог посмотреть, кто провёл ту, или иную бизнес транзакцию?

У нас locking, logging, queueing, tracing и т.п. вынесены в отдельный солюшн и подключаются при надобности в различных частях аналога Вашего Suite.

ИМХО Ваш Master - это просто часть Suite.
...
Рейтинг: 0 / 0
Посоветуйте структу проекта / сборок
    #39104868
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

То есть например Апп01 имеет свою домееную модель и логику. Ей чтобы взлететь в виде MVC надо Core, Data.Ef, Utils и MasterSerives (чтобы получить справочник-список стран), что ей встать на Windows надо Core, Data.WCF, Utils, MasterServices и Master WebAPI.
И получается так?
...
Рейтинг: 0 / 0
Посоветуйте структу проекта / сборок
    #39104877
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изначально хотелось Core оставить только для интерфейсов. Потому и образовался этот отдельный мастер с имплементацией.
...
Рейтинг: 0 / 0
Посоветуйте структу проекта / сборок
    #39104952
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и вопрос сразу возникает - как с domain model и с базой быть?
в Data.EF продублировать модели как ентити соответствующие таблицам бд и туда же какой-нибудь automapper положить, чтобы из DAL получать модели а не таблицы?
...
Рейтинг: 0 / 0
Посоветуйте структу проекта / сборок
    #39104996
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheerful Calf, какой смысл Data и Domain объединять в некий Core?
...
Рейтинг: 0 / 0
Посоветуйте структу проекта / сборок
    #39105003
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheerful Calfну и вопрос сразу возникает - как с domain model и с базой быть?
в Data.EF продублировать модели как ентити соответствующие таблицам бд и туда же какой-нибудь automapper положить, чтобы из DAL получать модели а не таблицы?А в чём собственно сомнения?
...
Рейтинг: 0 / 0
Посоветуйте структу проекта / сборок
    #39105068
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAкакой смысл Data и Domain объединять в некий Core?Задача некоего Core - обслуживать аппсы (апп как в понятии пользователя, т.е. MusicStoreWpf, MusicStoreWeb и MusicStoreDalEf - это все один аппликейшин): хандлить ерроры, логить события, думать как и куда положить файлы и как их потом отдать, послать емаил, сообщить текущий часовой пояс, перевести текст на понятный пользователю язык... Также думаю оно должно хранить интерфейсы и сигнатуры всего, за что оно отвечает - IDataContext, IBaseEntity, IGenericRepository<T>, IAuthorizationServices.... "Master" тоже в принципе на обслуживании всех аппсов, так как справочник стран никому в чистом виде нафиг не нужен. Поначалу и вырисовался этот отдельный мастер со своими моделями и сервисами (как логик, так данных). Отдельно от самого суита/коре потому что в случае десктопной версии аппса - коре в виде длл идет к пользователю на комп смело и дружно вместе с аппсом. А мастер со своим UserServices и прочем прячется за WebAPI. Но вроде решили что мастер - это часть этого некоего коре потому модели и дата и ушли туда. Хотя сейчас кажется, что или я не до понял и придумали не верно...
skyANAА в чём собственно сомнения?Что стоимость содержания этого зоопарка будет меньшей, чем стоимость всех костылей для унифицированной, одной на все слои от DB до UI, POCO модели.
...
Рейтинг: 0 / 0
Посоветуйте структу проекта / сборок
    #39105072
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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...
...
Рейтинг: 0 / 0
Посоветуйте структу проекта / сборок
    #39105078
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Что-то как-то толсто.
То есть?

>> Можно глянуть?
Нет, она в глуьоком симбиозе с костылями, уже не отличить где модель, а где костыль :) Причем что из всего перечисленного она пребывает только в скл, монго и джейсоне.
...
Рейтинг: 0 / 0
Посоветуйте структу проекта / сборок
    #39105348
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheerful Calf>> Что-то как-то толсто.
То есть?Exception Management (хандлить ерроры), Logging (логить события) следует вынести в отдельный солюшн.
Ресурсы для локализации (перевести текст на понятный пользователю язык) - это части конкретных приложений. ИМХО так.
...
Рейтинг: 0 / 0
Посоветуйте структу проекта / сборок
    #39105906
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A должен ли конкретный DAL знать кроме ентитей и таблиц в бд еще про какие-то доменные модели и как в них маппить то что он получает из базы? или же это задача того, кто над DAL эти модели пользует?
...
Рейтинг: 0 / 0
Посоветуйте структу проекта / сборок
    #39106692
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheerful CalfA должен ли конкретный DAL знать кроме ентитей и таблиц в бд еще про какие-то доменные модели и как в них маппить то что он получает из базы? или же это задача того, кто над DAL эти модели пользует?В Вашем случае да.

У Вас я вижу репозиторий с двумя стратегиями доступа: EF и WCF.
Принято, чтобы репозиторий возвращал доменные объекты и скрывал внутри детали маппинга.
...
Рейтинг: 0 / 0
Посоветуйте структу проекта / сборок
    #39109496
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
App1
...
AppN
Common
Common.Web
Common.Win
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Посоветуйте структу проекта / сборок
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]