---
# System prepended metadata

title: AzureServiceBus
tags: [AT&T]

---

---
tags: AT&T
---

# AzureServiceBus


## Factory

```plantuml

interface IQueueFactory {
    IQueueProducer CreateProdcuer(bool isDeadLetter);
    IQueueConsumer CreateConsumer(bool isDeadLetter);
}

class AzureQueueFactory {
    
}

AzureQueueFactory -up-|> IQueueFactory

```

## Producer

```plantuml
interface IQueueProducer {
    Send(String Message);
    Close();
}


class AzureQueueProducer {

}

class AzureDeadLetterQueueProducer {

}

AzureQueueProducer -up-|> IQueueProducer
AzureDeadLetterQueueProducer -up-|> IQueueProducer

```

## Consumers 

```plantuml

interface IQueueConsumer {
    Recieve();
    Close();
}


class AzureQueueConsumer {

}

class AzureDeadLetterQueueConsumer {

}

AzureQueueConsumer -up-|> IQueueConsumer
AzureDeadLetterQueueConsumer -up-|> IQueueConsumer


```

## Usages

### Servers:
```plantuml

class ServerHandler {
    - IQueueConsumer consumer;
    - IQueueProducer DeadLetterProducer;
    <<create>>ServerHandler(consumer:IQueueConsumer,  DeadLetterConsumer:IQueueProducer);
}
```

### GUI:

```plantuml

class GuiHandler {
    - IQueueConsumer DeadLetterConsumer;
    - IQueueProducer Producer;
    - IQueueConsumer DeadLetterConsumer;
    - IQueueProducer Producer;

}
```

### client:

```plantuml

class ClientHandler {
    - IQueueProducer Producer;
}

```








```