Хелпикс

Главная

Контакты

Случайная статья





Агрегация — это специализированная разновидность ассоциации, которая описывает отношения один-ко-многим, многие-ко-многим, часть-целое между несколькими объектами, тогда как ассоциация устанавливает связь только между двумя объектами. Обычно при агрегации



 

Отношения между объектами

Наследование — это возможность создания новых классов на основе существующих. Главная польза от наследования — повторное использование существующего кода. Расплата за наследование проявляется в том, что подклассы всегда следуют интерфейсу родительского класса. Вы не можете исключить из подкласса метод, объявленный в его родителе.

Зависимость — это базовая связь между классами, которая показывает, что один класс скорее всего придётся менять при изменении названия или сигнатуры методов второго. Зависимость появляется там, где вы указываете конкретные названия классов — в вызовах конструкторов, при указании типов параметров и возвращаемых значений методов и так далее. Степень зависимости можно ослабить, если вместо конкретных классов ссылаться на абстрактные классы или интерфейсы.

Реализация предполагает определение интерфейса и его реализация в классах.

Ассоциация - это отношение, при котором объекты одного типа неким образом связаны с объектами другого типа. Например, объект одного типа содержит или использует объект другого типа.

Агрегация и композиция являются частными случаями ассоциации.

Агрегация — это специализированная разновидность ассоциации, которая описывает отношения один-ко-многим, многие-ко-многим, часть-целое между несколькими объектами, тогда как ассоциация устанавливает связь только между двумя объектами. Обычно при агрегации один объект содержит другие, то есть выступает контейнером или коллекцией. Здесь контейнер не управляет жизненным циклом компонентов и компоненты вполне могут существовать отдельно от контейнера.

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

 

Базовые принципы проектирования

1. Инкапсулируйте то, что меняется.

2. Программируйте на уровне интерфейса

3. Предпочитайте композицию наследованию

 

 

Принципы SOLID

 

Паттерн «Стратегия»

Паттерн Стратегияопределяет семейство алгоритмов, инкапсулирует каждый из них и обеспечивает их взаимозаменяемость. Он позволяет модифицировать алгоритмы независимо от их использования на стороне клиента.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.