Абстракция чаще всего понимается в одном из двух смыслов:
Мысленное отвлечение, обособление от тех или иных сторон, свойств или связей предметов и явлений для выделения существенных их признаков.
Отвлечённое понятие, теоретическое обобщение.
В первом случае абстракция позволяет нам учитывать только необходимые нам свойства объекта реального мира. Например, мы говорим, что Земля имеет форм шара, и понимаем, что на самом деле это не так, но для нас в данном приближении детали не столь важны. Но при этом Земля остаётся Землёй, т.е. мы не заменяем один объект другим.
Разрабатывая информационную систему, мы тоже можем отказаться рассматривать некоторые специфические особенности объектов. И тогда мы получаем огромные плюсы:
Абстрагирование от несущественных в рамках текущей задачи особенностей объекта позволяет делать разрабатываемые нами системы управляемыми в отличие от реального мира, который по своей природе нами не управляем в принципе.
Снижаются затраты на проектирование и реализацию системы, написание документации, тестирование, обучение персонала и ввод в эксплуатацию.
Снижается стоимость владения: пользователи работают только с теми параметрами, которые им реально необходимы в работе. Отсутствуют затраты на ввод/чтение информации, которая не требуется для успешного решения задач, стоящих перед пользователем.
Снижаются требования к комплексу технических средств и увеличивается производительность: система хранит и обрабатывает значительно меньший по объёму массив информации.
Но есть и минус. Он заключается в известном законе: все абстракции дырявы. Т.е. в случае, если пользователю потребуется работать с параметрами, от которых наша система была абстрагирована, то он не сможет нашу систему использовать, т.е. она перестанет быть применимой к решению поставленных задач.
Когда мы говорим о втором понимании абстракции, мы имеем в виду совсем другую методику работы с информацией. Мы говорим, что есть несколько типов объектов, обладающих одинаковыми свойствами и/или выполняющими одинаковые функции, и на сновании этого мы можем выделить обобщающий тип объектов. Например, мы можем сказать, что Земля - это планета. Особенность заключается в том, что один объект заменяется другим объектом, поскольку планета - это не только Земля.
Программисты используют такой подход очень часто при работе с абстрактными и базовыми классами и интерфейсами в ООП. По своей природе, ООП - искусство абстрагирования. В итоге, мы имеем в позитиве следующие позиции:
Увеличивается гибкость, расширяемость и масштабируемость решений. Любая внешняя система может использовать наш API, если в её составе реализован клиентский модуль, поддерживающий принятые нами абстракции. Сторонний производитель может расширять функциональность нашей системы своими плагинами, если они будут реализованы в соответствии с принятыми правилами. Мы сами можем расширять функциональность системы, просто подключая новые модули без изменения старых.
Уменьшается риск внесения в старый действующий код ошибок при расширении функциональности системы. Сокращаются затраты на реализацию и тестирование.
Но мы должны чётко определить правила работы с нашими абстракциями. И опять же, в случае, если эти правила перестанут удовлетворять пользователя, наша система станет неприменимой для решения его задач.
Blue Lake is a unique natural monument. It is the second deepest karst spring in the world and is an aquiferous karst mine with steep walls. On the surface, the lake has a maximum length of 235m and a width of 130m. The minimum depth of the mine is 179m, the maximum is 258m. In the extended upper part, the depth varies from 0 to 40 m. The lake has no tributaries, but is drainage. A river flows out of it with a flow rate of 0.8 cubic meters. m / sec. The water temperature is 9 degrees all year round. Underwater visibility is practically independent of the weather and reaches 20-40 meters.
Голубое озеро – уникальный памятник природы. Оно является вторым в мире по глубине карстовым источником и представляет собой водоносную карстовую шахту с отвесными стенами. На поверхности озеро имеет наибольшую длину 235м и ширину 130м. Минимальная глубина шахты 179м, максимальная 258м. В расширенной верхней части глубина меняется от 0 до 40 м. Озеро не имеет притоков, но является сточным. Из него вытекает речка с расходом 0,8 куб. м/сек. Температура воды круглый год равняется 9 градусам. Видимость под водой практически не зависит от погоды и достигает 20-40 метров.
Абстракция чаще всего понимается в одном из двух смыслов:
Мысленное отвлечение, обособление от тех или иных сторон, свойств или связей предметов и явлений для выделения существенных их признаков.
Отвлечённое понятие, теоретическое обобщение.
В первом случае абстракция позволяет нам учитывать только необходимые нам свойства объекта реального мира. Например, мы говорим, что Земля имеет форм шара, и понимаем, что на самом деле это не так, но для нас в данном приближении детали не столь важны. Но при этом Земля остаётся Землёй, т.е. мы не заменяем один объект другим.
Разрабатывая информационную систему, мы тоже можем отказаться рассматривать некоторые специфические особенности объектов. И тогда мы получаем огромные плюсы:
Абстрагирование от несущественных в рамках текущей задачи особенностей объекта позволяет делать разрабатываемые нами системы управляемыми в отличие от реального мира, который по своей природе нами не управляем в принципе.
Снижаются затраты на проектирование и реализацию системы, написание документации, тестирование, обучение персонала и ввод в эксплуатацию.
Снижается стоимость владения: пользователи работают только с теми параметрами, которые им реально необходимы в работе. Отсутствуют затраты на ввод/чтение информации, которая не требуется для успешного решения задач, стоящих перед пользователем.
Снижаются требования к комплексу технических средств и увеличивается производительность: система хранит и обрабатывает значительно меньший по объёму массив информации.
Но есть и минус. Он заключается в известном законе: все абстракции дырявы. Т.е. в случае, если пользователю потребуется работать с параметрами, от которых наша система была абстрагирована, то он не сможет нашу систему использовать, т.е. она перестанет быть применимой к решению поставленных задач.
Когда мы говорим о втором понимании абстракции, мы имеем в виду совсем другую методику работы с информацией. Мы говорим, что есть несколько типов объектов, обладающих одинаковыми свойствами и/или выполняющими одинаковые функции, и на сновании этого мы можем выделить обобщающий тип объектов. Например, мы можем сказать, что Земля - это планета. Особенность заключается в том, что один объект заменяется другим объектом, поскольку планета - это не только Земля.
Программисты используют такой подход очень часто при работе с абстрактными и базовыми классами и интерфейсами в ООП. По своей природе, ООП - искусство абстрагирования. В итоге, мы имеем в позитиве следующие позиции:
Увеличивается гибкость, расширяемость и масштабируемость решений. Любая внешняя система может использовать наш API, если в её составе реализован клиентский модуль, поддерживающий принятые нами абстракции. Сторонний производитель может расширять функциональность нашей системы своими плагинами, если они будут реализованы в соответствии с принятыми правилами. Мы сами можем расширять функциональность системы, просто подключая новые модули без изменения старых.
Уменьшается риск внесения в старый действующий код ошибок при расширении функциональности системы. Сокращаются затраты на реализацию и тестирование.
Но мы должны чётко определить правила работы с нашими абстракциями. И опять же, в случае, если эти правила перестанут удовлетворять пользователя, наша система станет неприменимой для решения его задач.
Blue Lake is a unique natural monument. It is the second deepest karst spring in the world and is an aquiferous karst mine with steep walls. On the surface, the lake has a maximum length of 235m and a width of 130m. The minimum depth of the mine is 179m, the maximum is 258m. In the extended upper part, the depth varies from 0 to 40 m. The lake has no tributaries, but is drainage. A river flows out of it with a flow rate of 0.8 cubic meters. m / sec. The water temperature is 9 degrees all year round. Underwater visibility is practically independent of the weather and reaches 20-40 meters.
Голубое озеро – уникальный памятник природы. Оно является вторым в мире по глубине карстовым источником и представляет собой водоносную карстовую шахту с отвесными стенами. На поверхности озеро имеет наибольшую длину 235м и ширину 130м. Минимальная глубина шахты 179м, максимальная 258м. В расширенной верхней части глубина меняется от 0 до 40 м. Озеро не имеет притоков, но является сточным. Из него вытекает речка с расходом 0,8 куб. м/сек. Температура воды круглый год равняется 9 градусам. Видимость под водой практически не зависит от погоды и достигает 20-40 метров.