La tâche consiste à créer une bibliothèque liée dynamiquement, qui encapsule le travail de base de données. En raison de certaines limitations de conception, j'ai une interface définie, qui consiste en de nombreuses fonctions. Chaque fonction prend un paramètre et les utilise dans une requête de base de données. La connexion à la base de données devrait être dans la DLL et l'application ne veut pas déranger s'il y a une connexion.haskell global var
Quelle est la meilleure façon d'initialiser la connexion db, puis de la donner à chaque fonction sans la transmettre explicitement.
Bien sûr, en général, j'aimerais utiliser la monade d'État. Mais DLL n'est pas conçu pour avoir un point d'entrée.
Je ne suis pas sûr de ce que vous voulez dire par "dll n'est pas prévu pour avoir un point d'entrée". Pourriez-vous s'il vous plaît développer? Utiliser une monade pour prendre soin de ces choses est généralement beaucoup plus robuste et plus agréable. – svenningsson
Il existe plusieurs fonctions indépendantes devraient être fournies. deux d'entre eux 'init' &' close', autres sont des getters de données et mise à jour de base de données. Et toutes les fonctions ne doivent pas traiter directement avec le gestionnaire de base de données. –