Об'єднане значення (шаблон проєктування)
![]() | Ця стаття не має інтервікі-посилань. |
Об'єднане значення (англ. Embedded Value) — шаблон проєктування, який пропонує представляти комплексні типи не у вигляді окремих таблиць, а за допомогою колонок основної сутності.
В ООП часто доводиться оперувати різноманітними об'єктами, які не має сенсу зберігати у сховищі. Як приклад — гроші, об'єкт містить номінал та валюту. Хоч і звично зберігати об'єкти в окремих таблицях, але для таких типів, це призведе до надлишковості даних.
Рішенням буде зберігати значення такого об'єкта в таблиці головної сутності.
![](http://upload.wikimedia.org/wikipedia/uk/9/97/Embedded_Value.png)
Нехай дані об'єкти.
public class Money
{
public decimal Amount { get; set; }
public string Currency { get; set; }
}
class Employment
{
public int Id { get; set; }
public Money Salary { get; set; }
}
Тоді у сховищі ці об'єкти представлятимуться однією таблицею.
class EmploymentTable
{
public int Id { get; set; }
public decimal Salary { get; set; }
public string Currency { get; set; }
}