Проектирование архитектуры

На данном этапе мы уже имеем готовое приложение, но у него есть недостаток. Оно плохо расширяется

Что бы исправить это мы должны разделить работу с интерфейсом и работу с данными. Нужно реализовать класс DataBase

class DataBase():
    def __init__(self, full_path):
        """
        В этом методе мы проверим наличие файла и настроим поля класса
        """
        pass
        
    def get_all(self):
        """
        Возвращает все элементы
        """
        pass
        
    def save(self,data):
        """
        Записывает/сохраняет данный в файл
        """
        pass

    def create(self, new_element):
        """
        Создает новую запись и дает её уникальный id
        """
        pass
        
    def update(self, id, new_element):
        """
        Обновляет существющую запись по id
        """
        pass

    def delete(self, id):
        """
        Удаляет запись по id, если эелмента с таким id нет то ничего не происходит
        """
        pass

Когда класс создан нужно удалить весь код из main.py связанный с данными и использовать только этот класс.