Форум Сообщества Аналитиков

×


Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - kirka

Страницы: 1 2 3 4 »
1
Есть монитор, мышь, блок питания, системный блок, компьютер и т.д.
Все это продукты, которые можно продать по отдельности либо вместе.
Пример:

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

b. системный блок который состоит из видеокарты и блока питания тоже может являться частью "компьютера" который можно также продать.

В итоге выделяю класс:

public class Product{
   String name;
   String type;
   double[] ParamList;
Пример:

Product
Мышь
Периферия
Черная

Вопрос как указать что класс Product может состоять из самого себя? Причем в глубину несколько раз: Клавиатура->Системный Блок->Компьютер

2
Спасибо большое за внимание к вопросу, и Вашему ответу!

3
Да согласен с вами что это туман. Спасибо большое за внимание к вопросу. Я буду думать

4
Здравствуйте

Температура, да явно не отдельный класс, но почему Метеоэлемент не является отдельным классом?

Мне нужно построить модель которая максимально была бы приближена к будущей БД, не могу понять какие себе вопросы нужно задать чтобы понять разделять или в 1-2 классах все ввести все это.

Основная цель:
- хранить полученные данные
- показать какая сегодня погода
- выделить зоны с опасными явлениями или критическими значениями к примеру, "показать зону где температура превышает 35 градусов и т.д.
- показать прошедшую погоду (редко используемая функция)

Вывел все метеоэлементы (температура, облачность и т.д.) в отдельный классы (1 вариант диаграммы), чтобы избежать лишнего обновления данных всех таблиц.
К примеру: Вчера пришла сводка: Температура 15 градусов, Скорость ветра 10 м/с. Направление ветра 45 градусов.
Сегодня, 06.08.2018, пришли данные только по температуре 25 градусов. В итоге должно отобразится погода так:
Погода на 06.08.2018 Температура 25 градусов
Скорость ветра 10 м/с по состоянию на 05.08.2018
Направление ветра 45 градусов по состоянию на 05.08.2018



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

Третий вариант, разделить прогноз с фактом, но думаю бесмысленно, т.к. метеоэлементы совпадают.

Примечание: классы Единица измерения, и т.д. не отобразил их здесь, потому что с ним у меня проблем, все по ним ясно. А отобразил только проблемные данные, которые вызывают спор.

5
Здравствуйте

Вы совершенно правы:) Привычка все детализировать в концепции Архимейт не очень нужно. Спасибо большое! Понял. Указанные данные не отобразил в диаграмме, т.к. не нужны.

6
Данные поступают в виде потока с определенной периодичностью. Потоков более 2х. Как указать что определенный поток поступает в определенное время. Пример:

Данные о температуре, 1 раз в час
Данные о скорости ветра, 3 раза в 6 часов
Данные об уровне воды, 1 раз в 12 часов

7
Спасибо за оперативный коментарий.

Чуть ошибься. Факт и прогноз наследует Погоду.

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

Примеры:
09.10.2017 наблюдается Температура 35 градусов, форма облаков грозовые
10.10.2017 наблюдается Температура 35 градусов
Прогноз на 11.10.2017 Температура 45, Средняя скорость ветра 10

9
Здравствуйте

Сделал диаграмму предметной области. Теперь нужно диаграмму привести в соответствии с методологией DDD (Domain Driven Design).
По методологии DDD: сущности, Объект-Значение, Служба Предметной Области, Агрегат, Репозиторий и т.д.
Прочитал, но не совсем понял.

Подскажите пожалуйста, что в моей диаграмме является сущность, а что объектом значения? И почему?
Правильно ли моя диаграмма сделана с точки зрения DDD?

с уважением

10

На диаграмме два класса связаны с друг другом связь агрегат. Поясните пожалуйста:

Почему агрегатом связывают два класса?
Что означает стрелка на линии связи, направленная на класс "Видимость"?
Что означает цифры 0..3 рядом с классом "видимость"? Это типа "Видимость" можно создать в количестве о или 3?

11
Спасибо большое за ответ и внимание к вопросу.
1. да согласен с вами, что это не ассоциация, а зависимость.
2. Почему связь Service - - -> Department, Workshop.  Ведь в классе Service есть метод который обращается к интерфейсу Subdivision. А уже непосредственно из интерфейса к классам реализующих его.
public static int getFoodCost(Subdivision subdivision)
Таким образом хотелось показать "полиморфизм".

3.  Извините, не нашел подфорум про примеры. Поэтому пока осмелился здесь продолжить свой вопрос.
Если подскажите ссылкой на подфорум, буду благодарен.


Связь с классом, описывающим тип параметра операции (как и тип локальной переменной в теле метода) -- это зависимость, а не ассоциация. Обоснование просто. Такие переменные "живут" лишь в течение вызова, в отличие от атрибута, который "живёт" время, сравнимое с временем жизни связанного объекта.
Рекомендации:
Убрать ассоциацию Service -----> Subdivision.
Добавить зависимость Service - - -> Subdivision.
Добавить зависимость Service - - -> Workshop.
Добавить зависимость Service - - -> Department.

P. S. И разбирать примеры в подфоруме про примеры.

12
@Galogen

не ту диаграмму прикрепил. Обновил диаграмму. Это метод.

13
Здравствуйте!

Есть такой код:
Цитировать
Конкретно в моём примере метод getFoodCost не является частью интерфейса и реализующих его классов, это некий внешний метод

interface Subdivision {
    int numberOfEmployers();
}

class Workshop implements Subdivision {
    @Override
    public int numberOfEmployers() {
        // тут должна быть реализация интерфейса
    }
}

class Department implements Subdivision {
    @Override
    public int numberOfEmployers() {
        // тут должна быть реализация интерфейса
    }
}

class Service {
    public static void main(String[] args) {
        Workshop workshop1 = new Workshop();
        Department department1 = new Department();
        // some code
        int sum1 = getFoodCost(workshop1);
        int sum2 = getFoodCost(department1);
    }

    public static int getFoodCost(Subdivision subdivision) {
        return subdivision.numberOfEmployers() * 300;
    }
}


Подскажите пожалуйста правильно ли я отобразил отношения между классами описанных в коде? А именно между service и интерфейсом Subdivision?

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

Страницы: 1 2 3 4 »