Об'єднане значення (шаблон проєктування)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Об'єднане значення (англ. Embedded Value) — шаблон проєктування, який пропонує представляти комплексні типи не у вигляді окремих таблиць, а за допомогою колонок основної сутності.

В ООП часто доводиться оперувати різноманітними об'єктами, які не має сенсу зберігати у сховищі. Як приклад — гроші, об'єкт містить номінал та валюту. Хоч і звично зберігати об'єкти в окремих таблицях, але для таких типів, це призведе до надлишковості даних.

Рішенням буде зберігати значення такого об'єкта в таблиці головної сутності.

Реалізація

[ред. | ред. код]

Нехай дані об'єкти.

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; }
}

Див. також

[ред. | ред. код]

Джерела

[ред. | ред. код]