Причины создания классов:
- Моделирование объектов доменной области
- Моделирование абстрактных объектов - их не существует в реальном мире, но они абстрагируют другие объекты реального мира. Например класс Shape создаёт абстракцию для таких фигур как Circle и Square.
- Снижение сложности - за счёт сокрытия информации, разбиения её на удобоваримые слои.
- Изоляция сложности - локализуем возможные проблемы, которые будут возникать из-за высокой сложности.
- Сокрытие деталей реализации - так её легко изменить
- Ограничение влияния изменений
- Сокрытие глобальных данных
- Упрощение передачи параметров в методы - если в несколько методов передаётся один и тот же параметр, то возможно эти методы должны быть объединены в один класс, который будет владеть этим широко используемым полем
- Создание центральных точек управления
- Облегчение повторного использования кода
- Планирование создания семейства программ - часть классов остаётся такой же, а часть переписываются под каждое конкретное приложение
- Упаковка родственных операций - например набор тригонометрических функций, методов работы со строками
- Различные виды рефакторинга
- God-object - нарушает single responsibility principle как бы
- Нерелевантные классы - если класс имеет только данные, но не формы поведения, возможно его свойства стоит просто раздербанить по другим классам
- Классы, имена которых напоминают глаголы - они обычно содержат только поведение, но не данные. Возможно лучше просто сделать их методами какого-нибудь другого класса
Комментариев нет:
Отправить комментарий