Введение в объектно-ориентированный дизайн с Java. Тимур Машнин. Читать онлайн. Newlib. NEWLIB.NET

Автор: Тимур Машнин
Издательство: Автор
Серия:
Жанр произведения: Компьютеры: прочее
Год издания: 2022
isbn:
Скачать книгу
или как методы вычисляют результат, но вы предоставляете входные данные и получаете результаты посредством вызова методов.

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

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

      Инкапсуляция является ключевым принципом разработки в хорошо написанной программе.

      Она поддерживает модульность и простоту работы с программным обеспечением.

      Декомпозиция берет целую вещь и делит ее на разные части.

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

      Разложение позволяет вам разложить проблему на части, которые легче понять и решить.

      Разделяя вещь на разные части, вы можете более легко разделить обязанности этой вещи.

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

      Это связывает целое с несколькими различными частями.

      Иногда целое делегирует конкретные обязанности своим частям.

      Например, холодильник делегирует замораживание пищи и хранение этой пищи в морозильной камере.

      Так как разложение позволяет создавать четко определенные части, вполне естественно, что эти части являются отдельными.

      Целое может иметь фиксированное или динамическое число частей определенного типа.

      Если существует фиксированное число, то за время жизни всего объекта он будет иметь именно это количество объектов частей.

      Например, холодильник имеет фиксированное количество морозильников, только один.

      Это не меняется со временем, но иногда есть части с динамическим числом.

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

      Например, холодильник может иметь динамическое количество полок с течением времени.

      И сама часть может также служить целым, содержащим дополнительные составные части.

      В декомпозиции играет роль время жизни всего объекта, а также время жизни объектов частей и то, как они могут соотноситься между собой.

      Например, холодильник и морозильник имеют одинаковый срок службы.

      И одно не может существовать без другого.

      Если вы откажетесь от холодильника, вы также избавитесь от морозильной камеры.

      Но срок жизни также может быть не связан.

      У холодильника и продуктов питания разные сроки службы. И каждый может существовать независимо.

      Также вы можете иметь целые вещи, которые имеют общие части в одно и то же время.

      Например,