Бесчисленные преимущества состава

Хотите крутые товары Future Vision? Посетите наш магазин здесь

Всем привет! Последние несколько недель были очень загружены моей стажировкой, подготовкой к собеседованию и написанием кода. Тем не менее, я должен сказать, что мне нравится иметь так много дел. Часть моего процесса подготовки к собеседованию включала укрепление моих знаний в области объектно-ориентированного программирования. В сегодняшнем посте я хочу сосредоточиться на теме под названием… Композиция!

Итак, что такое композиция?

Композиция — это шаблон проектирования, используемый для реализации связи между классами. Этот метод — отличный способ сократить шаблонный код (разделы кода, которые должны быть включены в несколько мест с небольшими изменениями или вообще без изменений) и полностью соответствует принципу DRY (не повторяйтесь). Композиция помогает разработчикам создавать хорошо инкапсулированные классы и код, которые в целом проще поддерживать. Идея о том, что объекты могут состоять из других объектов, является одной из основных характеристик объектно-ориентированного языка.

Как это будет выглядеть в нашем коде?

Это класс, созданный без композиции:

Этот класс имеет много полей и кажется немного громоздким. Есть много полей, посвященных адресу студии.

Вот еще один способ сделать это:

У нас есть класс для игры:

Класс для студии:

И последний класс для адреса:

Смысл?

Одно или несколько полей класса являются другими объектами, а не примитивными типами или строками.

На самом деле существует множество реальных примеров композиции. Самая популярная, вероятно, аналогия с рестораном быстрого питания. Эти рестораны работают за счет использования множества различных компонентов. Вам нужна кухня, еда, работники и т. д. Персонал кухни использует печи и грили, но ресторан не является печью или грилем. У него есть печь.

Compositon — отличный способ писать чистый и хорошо инкапсулированный код. Это также отличный способ повторно использовать существующий код!