Нужна помощь в чтении диаграммы UML

#uml #class-diagram

#uml #класс-диаграмма

Вопрос:

введите описание изображения здесь

Здравствуйте, меня попросили создать класс, используя диаграмму UML, представленную выше.Я не совсем уверен, как ее читать. В настоящее время я создал:

 using System;

namespace Packets
{
    enum PacketType { ChatMessage, PrivateMessage, ClientName };
    public class Packet
    {
        public PacketType packetType
        {
        }

        Packet:ChatMessagePacket
        {
            public string message;
        public void ChatMessagePacket(string message)
        {

        }
    }
}
 

Но это неверно. Я не уверен насчет get ~set или ChatMessagePacket:Packet .
Любая помощь очень ценится.
Большое спасибо,
Бен.

Комментарии:

1. ваша входная диаграмма UML недопустима

2. Пожалуйста, также отметьте язык, который вы используете.

Ответ №1:

Это get~set изобретение автора UML и не является стандартом. Было бы правильно указать как средство получения, так и средство установки отдельно в качестве операций. Но в принципе было бы достаточно либо ввести атрибут, либо использовать роль с ассоциацией к перечислению. Создание getter / setter — это просто деталь реализации, и включение этого в UML делает дизайн просто запутанным. Часто разработчики моделей UML переусердствуют и (вероятно) думают, что программисты — просто обезьяны, которыми они не являются.