Правильно ли составлена ​​эта диаграмма последовательности из этого кода? - PullRequest
1 голос
/ 16 июня 2019

Мне нужно нарисовать диаграмму последовательности, используя только этот фрагмент кода (как часть университетского задания).Вот мое представление о том, как будет выглядеть диаграмма, но мне бы очень хотелось, чтобы кто-то с большим опытом мог проверить ее и дать мне какую-либо обратную связь.Моя самая большая дилемма заключается в следующих строках: - private Alarm alarm = GlobalSettings.GetCurrentAlarmSetting (); // я делаю сообщение о создании здесь (как я сделал), или?- lights = lightsController.GetAllLights (); // правильно ли я это сделал?Я понятия не имею, как представить оператор уравнения.

К сожалению, мне пришлось подрезать его в 2 изображения:

enter image description here enter image description here

public class AlarmController
    {
        private Alarm alarm = GlobalSettings.GetCurrentAlarmSetting();
        private User user = GlobalSettings.GetHouseOwner();
        private LightsController lightsController = new LightsController();

        public void ActivateSecurityMeasures(Sensor sensor)
        {
            List<Light> lights; 
            if (alarm.IsActivated())
            {
                lights = lightsController.GetAllLights();
                alarm.ActivateSoundAlarm();
                user.SendNotification("Home alarm is activated");
            }
            else
                lights = lightsController.GetSensorLights(sensor); 

            foreach (Light item in lights)
            {   item.TurnOn(); }
        }
    }

1 Ответ

0 голосов
/ 18 июня 2019

Кажется, что Alarm и User не должны создаваться с использованием сообщения Creation, так как ваш исходный код не показал, что два объекта созданы из AlarmController.Они просто извлекаются из статической операции в GlobalSettings.И кажется, что сообщения # 8.3, # 8.8, # 8.9 & # 8.10 также не нужны, поскольку # 8.2 & # 8.7 возвращают light подразумевает, что AlarmController имеет ссылку на объект Light и доступен для вызова в # 8.11

...