SpecialistOff.NET / Вопросы / Статьи / Фрагменты кода / Резюме / Метки / Помощь / Файлы

Назад

Основные принципы объектно-ориентированного архитектурного стиля


Метки: абстракция композиция наследование инкапсуляция полиморфизм отделение

Абстракция

Позволяет преобразовать сложную операцию в обобщение, сохраняющее основные характеристики операции. Например, абстрактный интерфейс может быть широко известным описанием, поддерживающим операции доступа к данным через использование простых методов, таких как Get (Получить) и Update (Обновить). Другая форма абстракции – метаданные, используемые для обеспечения сопоставления двух форматов структурированных данных.

Композиция

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

Наследование

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

Инкапсуляция

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

Полиморфизм

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

Отделение

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