что такое Платформа Объекта с ПОСТЕПЕННО

Каково преимущество использования ПОСТЕПЕННО? Я не понимаю значение Незнания Персистентности, что это означает? То, что постепенно объект не может выставить вещи, любят, Сохраняют? Я не могу перенести голову вокруг этого ПОСТЕПЕННО, что существует много шума вокруг.

То, каково различие с EF, генерировало объекты и ПОСТЕПЕННО?

32
задан pdiddy 20 April 2010 в 03:50
поделиться

2 ответа

POCO означает «Обычный старый объект C #» или «Обычный старый объект CLR». в зависимости от того, кого вы спрашиваете. Если фреймворк или API заявляют, что он работает с POCO, это означает, что он позволяет вам определять вашу объектную модель идиоматически без необходимости наследовать ваши объекты от определенных базовых классов. Вообще говоря, фреймворки, которые работают с POCO, дают вам большую свободу и контроль над дизайном и реализацией ваших классов, потому что у них меньше требований для правильной работы.

Незнание персистентности означает, что, насколько это возможно, что-либо в вашем коде, работающее на уровне бизнес-логики или выше, ничего не знает о фактическом дизайне базы данных, о том, какой движок базы данных вы используете, или как и когда объекты извлекаются. из или в базе данных. В случае MEF игнорирование персистентности достигается за счет работы с POCO и использования LINQ для выполнения запросов (т. Е. Не требуя от пользователя создания каких-либо SQL-запросов для извлечения желаемых объектов).

Это открытый вопрос, но все согласны с тем, что в большинстве случаев объекты домена (или бизнес-объекты - в любом случае, упомянутые выше POCO) не должны учитывать логику сохранения. Это означает, что вместо вызова MyBusinessObject.Save () у вас есть диспетчер ввода-вывода или класс адаптера, и вы вызываете Manager.Save (MyBusinessObject) . Таким образом, вы избегаете раскрытия семантики сохраняемости ваших бизнес-объектов - таким образом вы получаете лучшее разделение проблем.

45
ответ дан 27 November 2019 в 20:51
поделиться

POCO = Обычные старые объекты CLR.

Обычные старые объекты CLR (то есть C # или VB) означают, что я могу говорить на C # или VB все время, пока пишу свою программу, и мне не нужно беспокоиться о эзотерическом языке баз данных, таком как

UPDATE MYTABLE SET MYFIELD1 = @MYPARAMETER1, MYFIELD2 = @MYPARAMETER2 BLAH BLAH

Созданные объекты EF == POCO connected ( косвенно) в базу данных.

4
ответ дан 27 November 2019 в 20:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: