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

Прочитав первую главу книги Head First Object-Oriented Analysis and Design: A Brain Friendly Guide to OOA&D от O'Reilly Media, я пришел к пониманию того, насколько важен дизайн с самого начала разработки приложения. жизненный цикл.

При попытке дать определение отличному программному обеспечению в этой главе предлагаются следующие два аспекта:

  • Отличное программное обеспечение удовлетворяет потребности клиента. Наличие приложения, которое делает то, что должно, делает это эффективно и просто для пользователей в использовании и внедрении, является первым аспектом отличного приложения.
  • Отличное программное обеспечение, хорошо спроектированное и хорошо закодированное. Однако клиенты не единственные, кто взаимодействует с приложением; так же и разработчики. Сохранение хорошо структурированного кода облегчит поддержку приложения и даже позволит при необходимости расширить его функции.

Помня об этих двух аспектах, можно легко отличить отличные приложения от не очень. Однако эти два аспекта несколько расплывчаты, если вы действительно думаете об этом. Что на самом деле означает создание хорошо написанного приложения? Если смотреть на это с объектно-ориентированной точки зрения, хорошо спроектированное и хорошо написанное программное обеспечение построено на следующих четырех характеристиках:

  • Гибкость. Позволяет программному обеспечению расширяться и изменяться без постоянной доработки. Это предотвратит хрупкость приложения и его легкое разрушение каждый раз, когда вносятся изменения.
  • Инкапсуляция. Используется для отделения частей кода, которые постоянно меняются, от тех, которые не меняются. Таким образом, добавление нового кода станет проще и уменьшит вероятность его взлома при изменении приложения.
  • Шаблон проектирования. Следование шаблону проектирования поможет разработчикам сэкономить время и сделать код более эффективным за счет повторного использования существующих решений вместо того, чтобы создавать их каждый раз.
  • Функциональность. Без этой характеристики программное обеспечение бесполезно, независимо от того, насколько хорошо оно спроектировано. Все характеристики, упомянутые выше, должны работать вместе, чтобы сделать последнюю реальностью.

Эти четыре характеристики необходимы при создании приложения, независимо от его назначения. Лучшая часть из всех? Реализовать эти четыре характеристики не так сложно, как кажется. В главе предлагаются три простых шага, чтобы убедиться, что эти условия соблюдены:

  1. Убедитесь, что программное обеспечение делает то, что нужно клиенту.
    Для этого очень важно хорошо общаться с клиентом и подробно перечислять все требования. Используйте текстовое описание проблемы, которую вы пытаетесь решить, чтобы убедиться, что ваш дизайн соответствует предполагаемой функциональности вашего приложения.
  2. Применяйте базовые принципы объектно-ориентированного программирования для повышения гибкости.
    Программирование на объектно-ориентированном языке не обязательно означает, что вы создаете объектно-ориентированное приложение. Имейте в виду, что:
    – Объекты должны делать то, на что указывают их имена.
    – Объекты должны представлять только одну концепцию.
    – Неиспользуемые свойства часто не годятся.
  3. Обязательно стремитесь к удобному в сопровождении и многократному использованию дизайну.
    Когда объекты меньше зависят друг от друга, отладка и поддержка приложения после его выпуска становится намного проще. Кроме того, код становится пригодным для повторного использования и даже может использоваться в совершенно другом приложении, которое служит совершенно другой цели.

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

Эта статья основана на главе 1 книги Head First Object-Oriented Analysis and Design: A Brain Friendly Guide to OOA&D by O’Reilly Media. Если вы хотите узнать больше об этой теме, загляните в книгу!