Table of Contents
Data Mapper -malli on suunnittelumalli, joka erottaa muistin sisäiset objektit tietokantakerroksesta ja edistää huolien puhdistamista. Ruby on Railsissa tämän mallin toteuttaminen voi lisätä datan pysyvyyskerroksen joustavuutta ja säilyvyyttä.
Mikä on Data Mapper Pattern?
Data Mapper -mallissa luodaan oma mapper-kerros, joka käsittelee tiedon siirtoa esineiden ja tietokannan välillä. Toisin kuin Active Record, joka yhdistää datan ja käyttäytymisen, Data Mapper pitää nämä vastuut erillään, jolloin tietolähteiden vaihtaminen tai sitkeyden logiikan muuttaminen ei vaikuta liiketoiminnan logiikkaan.
Data Mapper Rubyssa
Vaikka Rails kannustaa käyttämään Active Recordia, voit toteuttaa Data Mapper -mallin ottamalla käyttöön kartta-luokat, jotka hallinnoivat tietokannan vuorovaikutusta. Tämä lähestymistapa edellyttää, että verkkoaluemalleillesi luodaan yksinkertaisia Ruby-esineitä ja että tietokantatoiminnoille tehdään erilliset kartta-kartat.
Vaihe 1: Määrittele verkkotunnuksen mallit
Luo yksinkertaisia Ruby-luokkia, jotka edustavat ydintietokokonaisuuksiasi. Näiden luokkien pitäisi sisältää vain liiketoiminnan logiikkaa ja ominaisuuksia, ilman tietokantakoodia.
Vaihe 2: Luo mapper-luokat
Suunnittele karttaper luokat vastuussa lataamisesta ja tallentamisesta. Nämä luokat käsittelevät kaikki tietokannan vuorovaikutus ActiveRecord tai SQL kyselyt, kääntämällä tietoja ja oman verkkotunnuksen malleja.
Data Mapper-mallin käytön edut
- Irrotetaan:[ Erotetaan liiketoiminnan logiikkaa pysyvyydestä, jolloin koodia on helpompi ylläpitää.
- Leikkaavuus:[ yksinkertaistaa tiedonsiirtolähteiden tai tallennusmekanismien vaihtoa.
- Tasapaino:[ Verkkoaluemalleja voidaan testata tietokannasta riippumatta.
- Puhdasta arkkitehtuuria: [ Edistää selkeää erottelua huolista sovelluksessasi.
Päätelmä
Data Mapper -mallin toteuttaminen Ruby on Rails -järjestelmässä vaatii lisäasetuksia, mutta se tarjoaa merkittäviä etuja koodin organisoinnin ja joustavuuden kannalta. Erottamalla verkkotunnuksesi selkeästi tietokannan vuorovaikutuksesta voit rakentaa ylläpidettävissä olevia ja mukautettavissa olevia sovelluksia.