---
# System prepended metadata

title: M06 Accés a dades. Diagrama de Classes del projecte Llista de la compra (Fitxers edition).
tags: [DAM, ' M6']

---

---
title: M06 Accés a dades. Diagrama de Classes del projecte Llista de la compra (Fitxers edition).
tags: DAM, M6
---

<div style="width: 30%; margin-left: auto;">
    
![](https://hackmd.io/_uploads/HJiR4eGJT.png)    
    
</div>


[Link en MarkDown](https://hackmd.io/@JdaXaviQ/HJ283-zPs)

# M06 Accés a dades. Diagrama de Classes del projecte Llista de la compra (Fitxers edition).

<div style="width: 40%">
    
![](https://i.imgur.com/hythnPM.png)
    
</div>

## Diagrama de classes.
```mermaid
---
title: Llista de la compra. Lògica de negoci.
---
classDiagram
    Llista *-- Registre
    Llista --> Categoria
    Categoria *-- Article
    Registre --> Article
    note for Registre "Registre no implementa\nsetters per l'article."
    note for Categoria "Hi ha d'haver categories preconfigurades:\n· Frescos\n· Begudes\n· Làctics\n· Neteja\n· Fruites i verdures"
    
    class Llista{
        - registres: Registre[]
        - categories: Categoria[]
        
        + get_registres(): Registre[]
        + create_registre(registre: Registre): Registre
        + read_registre(nom_article: String): Registre
        + update_registre(registre: Registre): Registre
        + delete_registre(nom_article: String): None
        
        + create_categoria(categoria: Categoria): Categoria
        + read_categoria(nom_categoria: String): Categoria
        + update_categoria(categoria: Categoria): Categoria
        + delete_categoria(nom_categoria: String): None
        
        + desa_a_disc(): None
        + llegeix_de_disc(): None
    }
    
    class Categoria{
        - nom: String
        - articles: Article[]
        
        + get_nom(): String
        + set_nom(nom: String): None
        + get_articles(): Articles[]
        + add_article(article: Article): Article
        + delete_article(nom_article: String): None
    }
    
    class Article{
        - nom: String
        
        + get_nom(): String
        + set_nom(nom: String): None
    }
    
    class Registre{
        - article: Article
        - quantitat: int
        
        + get_article(): Article
        + get_quantitat(): int
        + set_quantitat(quantitat: int): None
    
    }

```