Проектирование трехслойных приложений
Подскажите пожалуйста источник информации по проектированию трехслойных приложений, и интересует несколько конкретных вопросов.
Для отображения слоя бизнес логики приводят примеры обычно из сущностей из предметной области. Ну например там магазин с товарами, заказами покупателями и чем то еще например. Ну и они имеют какие то параметры свои(данные) и какое то поведение, что то во что то включается, ну и прочие взаимосвязи.
Нужно еще это где то сохранять, кроме озу. Если брать просто отдельное локальное приложение, то это можно привести к простой загрузке всех данных из файла и сохранении туда.
Первый вопрос насчет этого варианта.
Ну вот например есть программа в которой описываются сущности. И надо было как то это хранить на накопителе, взял xml(хотя да на БД это было бы лучше). А стандартный C# сериализатор сериализует только открытые поля и свойства (O_O, это как бы код, хотя и для доступа к данным, но логика немного непонятная), свойства с открытыми геттерами и сеттерами и с конструктором без параметров. Но например мне не нужны открытые сеттеры на поля и конструкторы без параметров. В такой ситуации я решил сделать классы-близнецы для сериализации, то есть они создаются из классов предметной области, сериализуются потом десериализуются, и по ним строятся рабочие классы.
Правильно ли это? Или нужно все что хочу сохранить делать public и работать с таким классом?
Другой вариант с работой с базой данных.
Если брать например ORM метод, то нужно связывать с базой сущности которые содержат поведение из предметной области или аналогично создавать просто классы которые будут создаваться из БД, а уже из них делать нужные сущности?
Но это частности, хотелось бы так же понять в целом как такое делать. Полно информации по тому как делать те или иные вещи отдельно, но не написано как это слепить в кучу, так что бы было удобнее.
58 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів