Java Academy · Урок

Моделирование предметной области (UML→код)

Превратите небольшое описание задачи в классы, поля и методы. Научитесь читать простую схему UML и реализовывать её в Java.

Урок 3 из 38 шагов

«Моделирование предметной области (UML→код)» — бесплатный урок Java Academy на CoddyKit. Это урок 3 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 3 уроков всего.

Что такое моделирование предметной области?

Моделирование предметной области означает описание задачи с помощью классов и связей, соответствующих реальному миру. Не усложняйте: выберите 2 или 3 основных понятия и запишите, что знает и что делает каждое из них.

Существительные, глаголы и связи

Подчеркните существительные, чтобы предложить классы, и глаголы, чтобы предложить методы. Если одна сущность использует или содержит другую, это может указывать на поле. Такой простой приём превращает текст в список классов.

Мини-схема

Пример: Library содержит много объектов Book. У Book есть название и автор. Library может добавлять книги и выводить их список. Этого достаточно, чтобы запрограммировать минимальную версию.

Имена полей и методов

Выбирайте короткие и понятные имена: title и author для данных, addBook и printBooks для поведения. Предпочитайте небольшие шаги, каждый из которых выполняет одну задачу, чтобы чтение кода напоминало чтение схемы.

Сначала ограниченный объём

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

Код: от схемы к Java

Код: схема превращается в два класса. Library содержит список объектов Book, поддерживает addBook и выводит простой список. Имена должны быть близки к именам на схеме.

public class Main {
  // Minimal model for Library and Book
  static class Book {
    String title;
    String author;
    Book(String t, String a) {
      title = t;
      author = a;
    }
    String info() {
      return title + " by " + author;
    }
  }

  static class Library {
    java.util.List<Book> books = new java.util.ArrayList<>();
    void addBook(Book b) {
      books.add(b); // has-a relation: Library owns Book
    }
    void printBooks() {
      if (books.isEmpty()) {
        System.out.println("No books yet.");
        return;
      }
      for (int i = 0; i < books.size(); i = i + 1) {
        System.out.println((i + 1) + ". " + books.get(i).info());
      }
    }
  }

  public static void main(String[] args) {
    // Build a tiny Library from the sketch
    Library lib = new Library();
    lib.addBook(new Book("Clean Code", "Robert Martin"));
    lib.addBook(new Book("Effective Java", "Joshua Bloch"));

    // List what we have
    lib.printBooks();
  }
}

Проверка рабочего процесса

Быстрая проверка: Как выглядит простой рабочий процесс перехода от схемы предметной области к коду?

Повторение

Повторение: начните с короткого текста или схемы в стиле UML. Преобразуйте существительные в классы, связи — в поля, а глаголы — в методы. Сначала реализуйте минимальную полезную версию.

Можно начать бесплатно

Изучай Java с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
104
Уроки
374

Часто задаваемые вопросы

Урок «Моделирование предметной области (UML→код)» бесплатный?

Да — полный текст урока «Моделирование предметной области (UML→код)» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 3 уроков всего.

Чему я научусь в уроке «Моделирование предметной области (UML→код)»?

Превратите небольшое описание задачи в классы, поля и методы. Научитесь читать простую схему UML и реализовывать её в Java. Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Java Academy?

Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 3.

Сколько времени занимает урок «Моделирование предметной области (UML→код)»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Java Academy?

Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. this и toString/equals/hashCode
  2. Композиция объектов
  3. Моделирование предметной области (UML→код)
← Назад к Java Academy