Моделирование объектов реального мира Создайте класс для каждого объекта реального мира, моделируемого вашей программой.
Моделирование абстрактных объектов Прекрасный пример - классический обьект Shape (фигура). Нахождение адекватных абстрактных объектов – одна из главных проблем ООП.
Снижение сложности – самая важная причина создания класса (сокрытие деталей, минимизация объема кода, облегчение сопровождения программы).
Изоляция сложности При возникновении ошибки ее будет проще найти, если она будет локализована в классе, а не распределена по всему коду. Если вы найдете более эффективный алгоритм, им бдет легче заменить старый алгоритм, изолированный в классе...
Облегчение повторного использования кода
Планирование создания семейства программ Если вы ожидаете, что программу придется изменять, разумно изолировать области предполагаемых изменений в отдельных классах. После этого вы можете изменять классы, не влияя на остальную часть программы, или вообще заменить их на абсолютно новые классы.
пятница, 4 июня 2010 г.
О наследовании
Избегайте многоуровневых иерархий наследования. Создание многоуровневых иерархий наследования значительно повышает число ошибок. Многоуровневые иерархии повышают сложность, что диаметрально противоположно цели наследования. Убедитесь, что используете наследование, чтобы избежать дублирования кода и минимизировать сложность.
Принцип достановки Лисков (LSP)
«Клиенты должны иметь возможность использования подклассов через интерфейс базового класса, не замечая никаких раздичий» (Hunt and Thomas, 2000)
Вроде очевидные вещи, но, думаю, многих людей название смутило бы...
Вроде очевидные вещи, но, думаю, многих людей название смутило бы...
Подписаться на:
Сообщения (Atom)