Бесчисленные преимущества состава
Хотите крутые товары Future Vision? Посетите наш магазин здесь
Всем привет! Последние несколько недель были очень загружены моей стажировкой, подготовкой к собеседованию и написанием кода. Тем не менее, я должен сказать, что мне нравится иметь так много дел. Часть моего процесса подготовки к собеседованию включала укрепление моих знаний в области объектно-ориентированного программирования. В сегодняшнем посте я хочу сосредоточиться на теме под названием… Композиция!
Итак, что такое композиция?
Композиция — это шаблон проектирования, используемый для реализации связи между классами. Этот метод — отличный способ сократить шаблонный код (разделы кода, которые должны быть включены в несколько мест с небольшими изменениями или вообще без изменений) и полностью соответствует принципу DRY (не повторяйтесь). Композиция помогает разработчикам создавать хорошо инкапсулированные классы и код, которые в целом проще поддерживать. Идея о том, что объекты могут состоять из других объектов, является одной из основных характеристик объектно-ориентированного языка.
Как это будет выглядеть в нашем коде?
Это класс, созданный без композиции:
Этот класс имеет много полей и кажется немного громоздким. Есть много полей, посвященных адресу студии.
Вот еще один способ сделать это:
У нас есть класс для игры:
Класс для студии:
И последний класс для адреса:
Смысл?
Одно или несколько полей класса являются другими объектами, а не примитивными типами или строками.
На самом деле существует множество реальных примеров композиции. Самая популярная, вероятно, аналогия с рестораном быстрого питания. Эти рестораны работают за счет использования множества различных компонентов. Вам нужна кухня, еда, работники и т. д. Персонал кухни использует печи и грили, но ресторан не является печью или грилем. У него есть печь.
Compositon — отличный способ писать чистый и хорошо инкапсулированный код. Это также отличный способ повторно использовать существующий код!