Жизнь действительно проста, но мы настаиваем на том, чтобы ее усложнить.
Конфуций

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

Кроме того, я прочитал достаточно строк кода, чтобы прийти к такому же выводу. Нам нужно, как напомнил бы мне мой бывший учитель по сельскому хозяйству: «Будь проще, глупец». Метод KISS обычно является лучшим подходом.

Какие?

Каждый день я езжу на работу на своей Хонде Аккорд. Вставляю ключ, завожу и едем. Чтобы пользоваться автомобилем, нам не нужно полностью разбираться в двигателях внутреннего сгорания. Нам просто нужно знать, как взаимодействовать с автомобилем. Нам нужен ключ и использовать руль, акселератор и тормоз. Эти основы могут помочь нам в поездках на работу. Внутреннее абстрагируется от обычного пользователя.

В мире программного обеспечения нам также необходимо устранить некоторые сложности. Здесь вступает в действие абстракция. Трудно отслеживать все аспекты вашего программного приложения, над которым вы работаете. Мы можем использовать абстракцию, чтобы помочь нам взаимодействовать с базой данных или файловой системой. Википедия определяет абстракцию так:

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

Даже разработчики, какими бы умными они себя ни считали, могут справиться лишь с тем, что они делают. Поэтому нам нужно абстрагироваться от некоторых сложностей.

Почему?

Мы рассмотрели ключевую причину использования абстракции, поскольку мы можем скрыть сложность. Другие причины являются образцовыми вещами в известном мире. Для этого разработчики программного обеспечения используют паттерны проектирования. Эти модели помогают нам передавать информацию и дают нам быстрое понимание системы. Мы тоже можем обобщать. Например, если у нас есть два типа банковских счетов, которые делают похожие вещи, мы можем создавать функции одинаково. Затем в момент, когда все должно быть по-другому, мы можем расходиться.

Человеческая память, в отличие от компьютеров, не расширяема. По сути, наша рабочая память довольно мала. Использование концепции абстракций позволяет нам сосредоточиться на поставленной задаче. Точно так же, если бы нам пришлось держать все это в уме, нам было бы труднее решать наши бизнес-задачи.

В заключение, когда нам нужно представить реальный мир в нашем коде разработки, абстракция может быть мощным инструментом. Мы покрыли много земли здесь. Из того, что такое абстракция и зачем она нам нужна. Так что в следующий раз, когда вы будете работать над созданием API, вы можете использовать этот инструмент.

С какими проблемами вы столкнулись при абстракции?

Ознакомьтесь с большим количеством отличного контента и подпишитесь на MyITCareerCoach.com